Sparql 如何排除重复项

Sparql 如何排除重复项,sparql,dbpedia,Sparql,Dbpedia,我想通过名字得到一个人的出生日期,但不要重复 我在这里看到它们是因为日期格式不同:03和3 但我不知道如何实际忽略它,尝试了选择distinct,但没有帮助 PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> select distinct ?person ?birthDate where { ?person foaf:name "Julius Cae

我想通过名字得到一个人的出生日期,但不要重复

我在这里看到它们是因为日期格式不同:
03
3

但我不知道如何实际忽略它,尝试了
选择distinct
,但没有帮助

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
select distinct ?person ?birthDate
where {
  ?person foaf:name "Julius Caesar"@en.
  ?person a foaf:Person.
  ?person dbo:birthDate ?birthDate
}
当我只需要3个结果而不是5个结果时。

好吧,这些是
不同的
结果行

如果您不关心哪些日期不一定有效,可以使用
SAMPLE()
,如下所示

前缀dbo:
前缀foaf:
选择不同的人
(样本(?出生日期)为?DoB)
哪里
{
人物foaf:名字“朱利叶斯·凯撒”@en。
?人员a foaf:人员。
?个人dbo:生日?生日
}

几乎不可能,问题在于数据集中仍然包含无效的日期文本,即
“-100-7-13”^^xsd:date
无效,然后他们添加了有效的表单
“-100-07-13”^^xsd:date
。您应该联系DBpedia的工作人员和/或尝试dbpedialiveendpoint
    person                                                  birthDate
1   http://dbpedia.org/resource/Julius_Caesar               "-100-07-13"^^xsd:date
2   http://dbpedia.org/resource/Julius_Caesar               "-100-7-13"^^xsd:date
3   http://dbpedia.org/resource/Julius_Caesar_(cricketer)   "1830-03-25"^^xsd:date
4   http://dbpedia.org/resource/Julius_Caesar_(cricketer)   "1830-3-25"^^xsd:date
5   http://dbpedia.org/resource/Julius_Caesar_(judge)       "1557-1-1"^^xsd:date
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT DISTINCT                         ?person 
                ( SAMPLE(?birthDate) AS ?DoB )
WHERE
 {
   ?person  foaf:name      "Julius Caesar"@en .
   ?person  a              foaf:Person .
   ?person  dbo:birthDate  ?birthDate
  }