2015-04-16 48 views
1

我想获得”是项目的[属性]“的列表。查询DBPedia的“属性”为“

例如,Barack Obama on DBPedia同时具有“继承者”作为财产和“继承者”财产(具有不同的继任者!)。

第一我可以用下面的SPARQL查询得到:

PREFIX ont: <http://dbpedia.org/ontology/> 
PREFIX obama: <http://dbpedia.org/resource/Barack_Obama> 
SELECT ?successor 
WHERE{ 
    obama: ont:successor ?successor 
} 

如何,都可以得到满足“是的继任者”条件的项目清单?

+0

“属性”是指三重属性的其他方向。如果您看到“X是Y的[p]”,您可以使用“?y p?x”查询。 –

回答

1

如果仔细观察,大部分is [property] of被定义为has [property]。例如,is successor of定义为predecessor。因此,在你的情况,你需要查询更改为:

PREFIX obama: <http://dbpedia.org/resource/Barack_Obama> 
SELECT * 
WHERE{ 
    obama: dbpprop:predecessor ?successor 
} 

只是探索DBpedia中这样的事情的主要性能弹出。或者如Jashua提到的改变查询方向:

PREFIX obama: <http://dbpedia.org/resource/Barack_Obama> 
SELECT * 
WHERE{ 
     ?successor dbpprop:successor obama: 
} 
+0

此问题与[上一个问题](http://stackoverflow.com/q/28765205/1281433)(实际上已发布接受的答案的一个问题)中提到的问题相同。由于问题是相同的(当我们看到“X [是P的] Y”时,该模式需要是“?y p?x”),我认为将其标记为重复可能更有意义。 –

+0

我发布答案后,我看到了国旗。真的够了! – Artemis