Sparql 无法从wikidata获取电影标题

Sparql 无法从wikidata获取电影标题,sparql,semantic-web,wikidata,Sparql,Semantic Web,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#&g

我正在尝试通过查询从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
这个函数的输出如下:wd:Q372


但是,我们正在尝试获取此编号的电影标题,而不是此编号。

每个电影实例(如wd:Q372)的类型都具有一些文字属性,如本例中的标签或电影标题,以及与其他实体(如演员)的一些关系。为了获得诸如title等文本值,您需要查询这些文本值。例如,这里是一个获取所有电影标题、电影类型和演员的查询。我假设您只需要英文标签,我将结果限制为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

像wdt:P31 wd:Q11424这样的东西似乎真的不方便使用,而且从它们的名字上看,它们与电影没有任何关系。使用DBpedia数据的东西,比如select?movie?title{?movie a dbo:Film;foaf:name?title},看起来会简单得多。