我有以下代码来检索在巴塞罗那出生的所有人
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?person ?birthPlace
WHERE {
?person rdfs:label ?label.
?person rdf:type dbo:Person.
?person <http://dbpedia.org/property/birthPlace>
<http://dbpedia.org/resource/Barcelona>.
}
但是,我不知道如何获得出生地。我想要一个在每个名字旁边都注明巴塞罗那是出生地的变量。有什么想法吗?
答案 0 :(得分:1)
如何?
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?person ?birthPlace
WHERE {
?person rdfs:label ?label.
?person rdf:type dbo:Person.
?person <http://dbpedia.org/property/birthPlace> ?birthPlace.
FILTER (?birthPlace = <http://dbpedia.org/resource/Barcelona>)
}
请注意,您的查询具有匹配标签的模式,但不会返回标签。由于某些人具有多个标签(使用不同的语言),因此导致重复的结果。删除模式,或在?label
子句中添加SELECT
。
您可以将<http://dbpedia.org/property/birthPlace>
缩写为dbp:birthPlace
。