3

DBpedia で Sparql クエリを使用して、都市に関するデータを取得しようとしています。問題は、クエリを機能させることができないことです。

現在、私は次のようなことをしています:

SELECT ?title,?name,?abs WHERE {
  ?title skos:subject 
    <http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia>.
  ?title dbpprop:officialName ?name.
  ?title dbpprop:abstract ?abs 
}

スロベニアのすべての町、村をすべてのデータとともに取得します。問題は、リュブリャナなどの 1 つの町のデータ (officialName および/または概要) のみを取得したいということです。だから私はこのようないくつかのことを試しました:

SELECT ?name WHERE {
  ?name dbpprop:officialName 
    <http://dbpedia.org/resource/Ljubljana>.
}

もちろん、うまくいきません。理由は正確にはわかりませんが:)、少し実験していて、次のようなことに気づきました

?name skos:subject <http://dbpedia.org/resource/Category:Ljubljana>.

いくつかの結果が得られます (これは私には関係ありませんが、とにかく)。

?name skos:subject <http://dbpedia.org/resource/Ljubljana>.

要素 skos:subject がページhttp://dbpedia.org/resource/Ljubljanaに存在しますが、何の結果もありません。

2番目の例が機能しない理由と、希望する結果を得る方法を誰かが説明してもらえますか?

ありがとう、アブラック

ありがとう

4

1 に答える 1

4

<http://dbpedia.org/resource/Ljubljana>オブジェクトではなく、サブジェクトとしてクエリを実行します。?titleこれにより、SPARQL クエリのバインディングが置き換えられます。次に例を示します。

SELECT ?name, ?abs WHERE {
   <http://dbpedia.org/resource/Ljubljana>
     skos:subject <http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia> ;
     dbpprop:officialName ?name ;
     dbpprop:abstract ?abs .
}

これが、グラフの一致?name skos:subject <http://dbpedia.org/resource/Ljubljana>が期待される結果を返さない理由です。Ljubljana の URI は、一致させたいステートメントの対象である必要があります。

于 2009-06-09T23:09:19.677 に答える