通过 DBO 查询 Dbpedia - SPARQL

Querying Dbpedia by DBO - SPARQL

我正在尝试提取此 dbpedia 页面的制造商部分 http://dbpedia.org/page/Diageo。但是我的 SPARQL 查询 return 什么都没有。然而,我可以 return 页面上的大多数其他值,例如具有完全相同布局的 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 }

有什么想法吗?

在DBpedia中,实体页面显示的语句中,实体既可以是主体,也可以是客体。在后一种情况下,相应的 属性 显示为“ is ... of ”。

相反,the page 你链接到说 dbr:Diageo dbo:manufacturer dbr:Johnnie_Walker 等。这意味着 dbr:Johnnie_Walker dbo:manufacturer dbr:Diageo 成立,而不是 dbr:Diageo dbo:manufacturer dbr:Johnnie_Walker 成立。

顺便说一下,dbo:manufacturerrdfs:rangeisdbo:Organization

因此,您应该寻找匹配反转模式的三元组:

SELECT * WHERE { ?variable dbo:manufacturer ?dbr:Diageo . }

或者,使用 property paths

SELECT * WHERE { dbr:Diageo ^dbo:manufacturer ?variable . }

Try it on DBpedia