我正在尝试提取此dbpedia页面http://dbpedia.org/page/Diageo
的制造商部分。但是我的SPARQL查询什么也没有返回。然而,我可以返回页面上的大多数其他值,例如具有完全相同布局的keyPersons。
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT ?label
WHERE { <http://dbpedia.org/resource/Diageo>
dbpedia-owl:keyPerson ?label }
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT ?label
WHERE { <http://dbpedia.org/resource/Diageo>
dbpedia-owl:manufacturer ?label }
有什么想法吗?
答案 0 :(得分:2)
在DBpedia中,实体页面显示的实体不仅可以是主题,还可以是对象。在后一种情况下,相应的属性显示为&#34; 是...... &#34;。
相反,您已关联的the page表示dbr:Diageo
dbo:manufacturer
dbr:Johnnie_Walker
等。表示dbr:Johnnie_Walker dbo:manufacturer dbr:Diageo
成立,而不是dbr:Diageo dbo:manufacturer dbr:Johnnie_Walker
成立。
顺便提一下rdfs:range
dbo:manufacturer
is dbo:Organization
。{/ p>
因此,您应该寻找与反转模式匹配的三元组:
SELECT * WHERE { ?variable dbo:manufacturer ?dbr:Diageo . }
或者,使用property paths:
SELECT * WHERE { dbr:Diageo ^dbo:manufacturer ?variable . }