在Wikidata-SPARQL中使用限定符

Ori*_*zon 8 sparql wikidata

我是SPARQL/Wikidata的新手,并试图弄清楚我是如何要求Angelina Jolie开始和她的配偶约会的.

我在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 . }
Run Code Online (Sandbox Code Playgroud)

我知道这是错的..我只是不知道如何解决它..我想表达希望知道特定先前谓词的属性

谢谢您的帮助!

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

Ori*_*zon 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) 
 }
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您不需要定义自己的`PREFIX`,因为维基数据查询服务已经定义了`PREFIX ps: &lt;http://www.wikidata.org/prop/statement/&gt;`。 (2认同)
  • 对于从谷歌来到这里的人:[这在维基教科书关于 SPARQL 的参考中有解释](https://en.wikibooks.org/wiki/SPARQL/WIKIDATA_Qualifiers,_References_and_Ranks),此外该页面还显示了获取限定符值的简短语法。 (2认同)