资源http://dbpedia.org/resource/Iceland_national_under-21_football_team的类型为 a foaf:Person
(dbpedia-owl:Person
等等),这就是它出现在结果集中的原因。
查看语句,我看到这个资源也是一个dbpedia-owl:SportsTeamMember
,它是一个子类,dbpedia-owl:Person
它是一个owl:equivalentClass
。foaf:Person
这显示了运动队是如何被推断为一个人的。
DBpedia 中的信息是使用模板从 Wikipedia 中提取的,如此处所述。通常,映射模板将 Wikipedia 信息框和其他模板中的信息映射到 DBpedia 资源属性。具有特定信息框(或对于其他映射,“普通”模板)的文章被称为特定 RDF 类。
例如,Infobox 足球俱乐部映射模板地图dbpedia-owl:SoccerClub
从具有此信息框的文章创建类型资源。(不过,这不适用于冰岛队。)
看起来,映射足球小队的球员可能对冰岛队是一个人的断言负责。该模板用于列出团队成员,但用于创建 DBpedia 资源的 Wikipedia 页面版本存在可能会破坏流程的拼写错误。我不完全确定,但它可以解释为什么不是所有的国家足球队都是打字的foaf:Person
。
您无法从 DBpedia 中删除特定语句,但您可以更正源 Wikipedia 文章中的错误,或者更正、更新或创建 DBpedia 的映射。
要删除自我引用,您可以在子句中添加如下FILTER
语句:WHERE
WHERE {
?person1 ?p ?person2.
?person1 a foaf:Person.
?person2 a foaf:Person.
FILTER (?person1 != ?person2).
}
如果您正在寻找 s 对之间特定类型的关系foaf:Person
,您当然可以指定它们:
WHERE {
...
?person1 foaf:knows ?person2.
...
}
编辑 2:我后来意识到你要求的是不同类型的自我参考。来自DBPedia:URI 中的“__1”(双下划线)是什么意思?我知道这些是中间节点的 URI,是为了避免使用空白节点而创建的。例如,:%C3%84ngelholms_FF__Jakob_Augustsson__1
在 (the description of) 中 Jakob Augustsson 的(前缀)URI 是:%C3%84ngelholms_FF
。对于足球示例,您可以添加FILTER (?p != dbpedia-owl:currentMember)
以排除这些结果。
编辑 1:添加了一些超链接。