无法获取DBpedia类的所有属性

时间:2015-07-25 02:21:21

标签: sparql dbpedia

我使用Sparql使用此代码获取specific class的所有属性。

PREFIX db: <http://dbpedia.org/resource/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX onto: <http://dbpedia.org/ontology/>
select ?property ?value 
where { db:Thin-film-transistor_liquid-crystal_display ?property ?value . }

但是,输出结果缺少一些属性:

is dbpprop:display of   dbpedia:IPhone_4S
                        dbpedia:IPhone_5S
is dbpprop:industry of  dbpedia:InnoLux_Corporation
is dbpprop:paneltype of dbpedia:Dell_monitors
is dbpprop:products of  dbpedia:Zalman

我如何获得这些属性?

1 个答案:

答案 0 :(得分:5)

您提到的属性有一个重要的共同点,&#34; OF&#34;。这意味着您要查找的项目是&#34;对象&#34;而不是&#34;主题&#34;并且您正在搜索&#34;对象&#34;。因此,如果您在查询中交换主题和对象,您将找到它们:

PREFIX db: <http://dbpedia.org/resource/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX onto: <http://dbpedia.org/ontology/>
select ?property ?value 
where { 
    ?value ?property db:Thin-film-transistor_liquid-crystal_display. 
}

所以,如果你想把所有东西都搞清楚,一种方法就是结合:

PREFIX db: <http://dbpedia.org/resource/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX onto: <http://dbpedia.org/ontology/>
select ?property ?value 
where { 
{
   db:Thin-film-transistor_liquid-crystal_display ?property ?value. 
}
union{
    ?value ?property db:Thin-film-transistor_liquid-crystal_display. 
}
}