我对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(电影的发布日期)的限定词。
有人知道如何做。 感谢您的任何建议。
答案 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
}