首页 文章

维基数据SPARQL查询演员和工作人员

提问于
浏览
0

我的目标是创建一个sparql查询,检索演员和工作人员的列表,它是wikidata类型(“导演”,“编剧”,“演员”,......)

到目前为止我有这个:

SELECT ?titleLabel ?castLabel ?property ?propertyLabel
WHERE {
    ?title wdt:P345 "tt0848228".
    ?title wdt:P57 ?cast.
    ?property wikibase:propertyType ?propertyType.
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

我想要的输出是一个包含以下行的表:

"The Avengers", "Joss Whedon", "wd:P57", "director" ...

1 回答

  • 2

    我想出了this query

    SELECT ?titleLabel ?castLabel ?property ?propLabel
    WHERE {
        ?title wdt:P345 "tt0848228".
        # take all claims on this movie
        ?title ?property ?cast .
        # that involve a human
        ?cast wdt:P31 wd:Q5 .
    
        # get the property label
        # see https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/queries#Adding_labels_for_properties
        hint:Query hint:optimizer "None" .
        ?prop wikibase:directClaim ?property .
    
        SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
    }
    

相关问题