通过 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:manufacturer
rdfs:range
isdbo:Organization
。
因此,您应该寻找匹配反转模式的三元组:
SELECT * WHERE { ?variable dbo:manufacturer ?dbr:Diageo . }
或者,使用 property paths:
SELECT * WHERE { dbr:Diageo ^dbo:manufacturer ?variable . }
我正在尝试提取此 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:manufacturer
rdfs:range
isdbo:Organization
。
因此,您应该寻找匹配反转模式的三元组:
SELECT * WHERE { ?variable dbo:manufacturer ?dbr:Diageo . }
或者,使用 property paths:
SELECT * WHERE { dbr:Diageo ^dbo:manufacturer ?variable . }