【问题标题】:SPARQL query with qualifiers带限定符的 SPARQL 查询
【发布时间】:2018-12-18 15:28:53
【问题描述】:

我对 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
}

此查询向我显示电影,其中包括莱昂纳多·迪卡普里奥作为演员。我想添加另一个名为“地点”的列,意思是“出版地点”。这个出版地是属性 P577 的限定符(电影的出版日期)。

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

【问题讨论】:

  • ?item p:P577 ?statement. ?statement ps:P577 ?date. ?statement pq:P291 ?place
  • @AKSW,你能给出完整的查询吗?

标签: select sparql wikidata qualifiers


【解决方案1】:

将@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
}

【讨论】:

  • @Alexan 如果你想拥有“文本”又名标签,你应该使用你在查询中从未做过的标签服务......通常是varName + 关键字Label ,例如?placeLabelitemLabel 等。如果您不想使用此服务,则必须明确获取 ?place 的标签,即添加另一个为您执行此操作的三元组模式
猜你喜欢
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多