使用 Sparql 从 Wikidata 检索电影的美国上映日期
Retrieve the US release date for a movie from Wikidata using Sparql
我正在尝试使用 wikidata.org sparkql 端点(https://query.wikidata.org/). The titles are listed in different languages, which are filtered in the query below. However, some movies also have several publication dates (e.g. for different countries), e.g. https://www.wikidata.org/wiki/Q217020 检索电影的标题和发布日期(发布日期)。我不确定 RDF 三重结构的实际使用方式将一个国家分配给另一个三元组的值,但具体来说,我如何才能只检索美国电影的发行日期?
SELECT ?item ?title ?publicationdate
WHERE {
?item wdt:P31 wd:Q11424 ;
rdfs:label ?title ;
wdt:P577 ?publicationdate ;
filter ( lang(?title) = "en" )
}
ORDER BY ?movieid
LIMIT 10
解决方案
M.Sarmini提供的解决方案有效。显然,诸如发布数据之类的事实存储为 n-ary 关系 ,它们创建了一个独特的符号标签,link 是资源。 P577 links 的值只是日期,当变成字符串时将给出发布日期,而实际上它是一个令牌,您可以 link 到其他 限定符.
只需添加一个新变量来保存发布地点并过滤您的结果以仅列出美国电影,如下所示:
PREFIX q: <http://www.wikidata.org/prop/qualifier/>
PREFIX s: <http://www.wikidata.org/prop/statement/>
SELECT distinct ?item ?title ?publicationdate
WHERE {
?item wdt:P31 wd:Q11424;
rdfs:label ?title;
p:P577 ?placeofpublication.
?placeofpublication q:P291 wd:Q30.
?placeofpublication s:P577 ?publicationdate;
filter ( lang(?title) = "en")
}
ORDER BY ?item
我正在尝试使用 wikidata.org sparkql 端点(https://query.wikidata.org/). The titles are listed in different languages, which are filtered in the query below. However, some movies also have several publication dates (e.g. for different countries), e.g. https://www.wikidata.org/wiki/Q217020 检索电影的标题和发布日期(发布日期)。我不确定 RDF 三重结构的实际使用方式将一个国家分配给另一个三元组的值,但具体来说,我如何才能只检索美国电影的发行日期?
SELECT ?item ?title ?publicationdate
WHERE {
?item wdt:P31 wd:Q11424 ;
rdfs:label ?title ;
wdt:P577 ?publicationdate ;
filter ( lang(?title) = "en" )
}
ORDER BY ?movieid
LIMIT 10
解决方案
M.Sarmini提供的解决方案有效。显然,诸如发布数据之类的事实存储为 n-ary 关系 ,它们创建了一个独特的符号标签,link 是资源。 P577 links 的值只是日期,当变成字符串时将给出发布日期,而实际上它是一个令牌,您可以 link 到其他 限定符.
只需添加一个新变量来保存发布地点并过滤您的结果以仅列出美国电影,如下所示:
PREFIX q: <http://www.wikidata.org/prop/qualifier/>
PREFIX s: <http://www.wikidata.org/prop/statement/>
SELECT distinct ?item ?title ?publicationdate
WHERE {
?item wdt:P31 wd:Q11424;
rdfs:label ?title;
p:P577 ?placeofpublication.
?placeofpublication q:P291 wd:Q30.
?placeofpublication s:P577 ?publicationdate;
filter ( lang(?title) = "en")
}
ORDER BY ?item