4

DBPediaとSPARQLクエリ言語を介してアーティストの詳細を取得しようとしていますが、特定の情報を取得する方法は(私の理解では)ほとんど不可能のようです。

アーティストを取得して、出身地などの情報を取得しようとしています。クエリは次のようなものになるはずです。

SELECT ?c WHERE {
  ?b <http://dbpedia.org/property/Artist> <http://dbpedia.org/resource/Arctic_Monkeys>.
  ?b <http://www.w3.org/2002/07/owl#ObjectProperty> <http://dbpedia.org/ontology/hometown>.
  ?b rdfs:label ?c.
}

誰かがそれがどのように行われるべきかについて私に教えてくれるなら、それは驚くべきことです。

私は次の場所でクエリを試してきました:

http://dbpedia.org/sparql

4

3 に答える 3

7

彼らの故郷のラベルを見つけたい場合は、これを試してください:

SELECT ?hometownLabel WHERE {
  <http://dbpedia.org/resource/Arctic_Monkeys> <http://dbpedia.org/ontology/hometown> ?hometown .
  ?hometown <http://www.w3.org/2000/01/rdf-schema#label> ?hometownLabel .
}
于 2012-04-20T14:58:19.747 に答える
3

たぶん、あなたはSPARQL構文をよく理解していないでしょう。SQLとは異なり、SPARQLの検索結果は、WHERE句に不明な変数を含むいくつかのトリプルを記述します。あなたが試すことができます:

prefix dbpedia-owl:<http://dbpedia.org/ontology/>
SELECT ?c 
WHERE {
    <http://dbpedia.org/resource/Arctic_Monkeys> dbpedia-owl:hometown ?c.
}

この検索で​​、Arctic_Monkeysの故郷を取得します。

于 2012-04-25T02:35:23.287 に答える
1
SELECT ?hometown 
WHERE {
dbr:Arctic_Monkeys dbo:hometown ?label.
?label rdfs:label ?hometown.
FILTER(langMatches(lang(?hometown), "en"))
}
于 2018-03-20T06:57:11.567 に答える