Wikidata SPARQL запрос актеров и команды
Моя цель - создать запрос sparql, который извлекает список актеров и членов экипажа и его тип викиданных ("директор", "сценарист", "член актерского состава",...)
Пока у меня есть это:
ВЫБЕРИТЕ? TitleLabel? CastLabel? Свойство? PropertyLabel ГДЕ { название wdt:P345 "tt0848228". название wdt:P57 литой.?property wikibase:propertyType?propertyType. СЕРВИС wikibase:label { bd:serviceParam wikibase: язык "en". } }
Вывод, который я хочу получить, представляет собой таблицу со строками, такими как:
"The Avengers", "Joss Whedon", "wd:P57", "director"
...
1 ответ
Решение
Я пришел с этим запросом:
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". }
}