我正在尝试打印dbpedia(http://dbpedia.org/sparql)中所有缺少“抽象”属性的人。运行此代码时,我可以看到输出中的某些人(例如,Hassan Al-Qazwini)具有属性abstract。我做错了吗?
select ?s where {
?s a dbo:Person.
MINUS {?s dbo:abstract ?z}
}
答案 0 :(得分:0)
原因是DBpedia重定向基于Wikipedia重定向。例如,http://dbpedia.org/resource/Hassan_Al-Qazwini
确实没有摘要,但是如果您在浏览器中打开此URI,您将被重定向到其规范的URI http://dbpedia.org/resource/Sayed_Hassan_Al-Qazwini
-这样做是为了允许标识相同资源的URI。但最后将所有数据仅附加到单个RDF资源。
解决此问题的一种方法是也检查重定向,即所有具有摘要的人或被重定向到具有摘要的人。例如,这可能有效:
select ?s
where { ?s a dbo:Person. minus {?s dbo:wikiPageRedirects?/dbo:abstract ?z} }