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 回答