我通过查询中的工作学习SPARQL和DBpedia中https://www.joe0.com/2014/09/22/how-to-use-sparql-to-query-dbpedia-and-freebase/ 。 我测试的查询返回出生约翰·列侬的日期,我跑我的查询中http://dbpedia.org/sparql 。 查询是:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT DISTINCT ?x0 ?x1 WHERE {
?x0 rdf:type foaf:Person.
?x0 rdfs:label "John Lennon"@en.
?x0 dbpedia-owl:birthDate ?x1.
}
它返回一个包含相同的日期(1940年10月9日)两行。 我的问题是:为什么查询返回两行,即使它使用DISTINCT? 在此之前问这个问题我查了以下内容:
- 为什么我的SPARQL查询复制的结果吗?
- 使SPARQL查询时重复行
但我不认为他们解释重复的日期。
编辑 :我转换的结果,以文字和粘贴下面这些
-------------------------------------- -----------------------------------------------------
x0 x1
--------------------------------------- -----------------------------------------------------
http://dbpedia.org/resource/John_Lennon 1940-10-09
http://dbpedia.org/resource/John_Lennon "1940-10-9"^^<http://www.w3.org/2001/XMLSchema#date>