在Wikidata-SPARQL中使用限定符

时间:2016-03-22 15:32:15

标签: sparql wikidata

我是SPARQL /维基数据的新手,并试图弄清楚我是多么想要安吉丽娜朱莉开始约会她的每一个配偶的时间。

我在Jolie的Wikidata条目中看到了这些信息,但我无法形成有效的查询来获取它。我想这与我不完全理解的那些“限定词”有关。

这是我已经尝试过的:

PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
SELECT ?x ?xLabel ?start
WHERE { wd:Q13909 p:P26 ?x . ?x v:P26 wd:Q13909 . ?x pq:P580 ?start . }

我知道这是错的..我只是不知道如何修复它...我想表达了对特定先前谓词属性的渴望

感谢您的帮助!

p.s:我的查询的答案应该是: Jonny Lee Miller 1995 Billy Bob Thornton 2000年3月 布拉德皮特2014年8月23日

1 个答案:

答案 0 :(得分:11)

最后,我想知道发生了什么。在wikidata中,任何具有某些属性的谓词实际上都是一个称为语句的新实体(节点)。属性也是链接到此新节点的实体(节点)。这些属性称为限定符。

所以,最终,这个查询为我完成了这项工作:

SELECT ?sp ?t WHERE {
    wd:Q13909  p:P26   ?s  .  # ?s is the the statement node
           ?s  ps:P26  ?sp .  # that simulates the predicate 
           ?s  pq:P580 ?t  .  # this is an attribute (a qualifier) 
 }