带限定符的SPARQL查询

时间:2018-12-18 15:28:53

标签: select sparql wikidata qualifiers

我对SPARQL中的限定词有疑问。

我有这个查询:

SELECT ?title ?item ?date ?place WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  ?item wdt:P161 wd:Q38111.
  ?item wdt:P1476 ?title.
  ?item wdt:P577 ?date.
  # how add ?place, aka place of publication in P577 of current movie
}

此查询向我展示了电影,其中包括莱昂纳多·迪卡普里奥(Leonardo diCaprio)作为演员。我想添加一个名为“地方”的列,这意味着“发布地”。此发布地是属性P577(电影的发布日期)的限定词。

有人知道如何做。 感谢您的任何建议。

1 个答案:

答案 0 :(得分:3)

在查询中应用@AKSW的注释非常简单。您是否尝试过自己做?

SELECT ?title ?item ?date ?place WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  ?item wdt:P161 wd:Q38111.
  ?item wdt:P1476 ?title.
#  ?item wdt:P577 ?date.
  # how add ?place, aka place of publication in P577 of current movie
  ?item p:P577 ?statement. 
  ?statement ps:P577 ?date. 
  ?statement pq:P291 ?place
}

并获取每个?place的地名-

SELECT ?title ?item ?date ?place ?placeLabel WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  ?item wdt:P161 wd:Q38111.
  ?item wdt:P1476 ?title.
#  ?item wdt:P577 ?date.
  # how add ?place, aka place of publication in P577 of current movie
  ?item p:P577 ?statement. 
  ?statement ps:P577 ?date. 
  ?statement pq:P291 ?place
}