无法从wikidata获得电影片名

Web*_*bdb 2 semantic-web sparql wikidata

我试图通过查询从wikidata获取电影标题.

我已经尝试过了:

PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>

SELECT ?q ?film_title ?actor ?genre WHERE {
  ?q wdt:P31 wd:Q11424.
}

LIMIT 10
Run Code Online (Sandbox Code Playgroud)

输出如下:wd:Q372

但是我们试图得到这个数字的movie_title而不是这个数字.

Bah*_*har 5

每个电影实例(如WD:Q372)是有一定的文字属性,如标签(或电影片名在这种情况下),并与其他实体如演员的一些关系的类型.为了获得文字值(如标题等),您需要查询这些值.例如,这里是获取所有电影标题,他们的流派和演员的查询(我假设你只想要英文标签而且我将结果限制为10).

PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
PREFIX q: <http://www.wikidata.org/prop/qualifier/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?q ?film_title ?actor ?genre WHERE {
  ?q wdt:P31 wd:Q11424.
  ?q rdfs:label ?film_title filter (lang(?film_title) = "en").
  ?q wdt:P136 ?genreID.
  ?genreID rdfs:label ?genre filter (lang(?genre) = "en").
  ?q wdt:P161 ?actorID.
  ?actorID rdfs:label ?actor filter (lang(?actor) = "en").
}limit 10
Run Code Online (Sandbox Code Playgroud)