我正在尝试提取这个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 }有什么想法吗?
发布于 2018-03-07 13:53:51
在DBpedia中,实体页显示的语句中,实体不仅可以是主题,也可以是对象。在后一种情况下,各自的财产显示为"is . of“。
相反,您链接到的页表示dbr:Diageo是dbo:manufacturer of dbr:Johnnie_Walker等,这意味着dbr:Johnnie_Walker dbo:manufacturer dbr:Diageo持有,而不是dbr:Diageo dbo:manufacturer dbr:Johnnie_Walker持有。
顺便问一下,rdfs:range of dbo:manufacturer 是 dbo:Organization。
因此,您应该寻找与反向模式匹配的三元组:
SELECT * WHERE { ?variable dbo:manufacturer ?dbr:Diageo . }或者,使用属性路径:
SELECT * WHERE { dbr:Diageo ^dbo:manufacturer ?variable . }https://stackoverflow.com/questions/49152535
复制相似问题