Я пытаюсь найти актеров, которые появляются вместе в разных фильмах.
Например:
- «Найдите всех актеров, которые появились в« Империи наносит ответный удар »и« Храм Судьбы », следует вернуть Харрисона Форда.
- «Найдите всех актеров, которые появились в« Империи наносит ответный удар »и« Возвращение джедая »», следует вернуть Харрисона Форда, Кэрри Фишер, Марка Хэмилла и т. Д.
Это получает всех актеров Храма Судьбы:
SELECT ?actor ?actorLabel WHERE {
?movie wdt:P161 ?actor .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
FILTER(?movie = wd:Q179215)
}
LIMIT 100
Я бы подумал, что смогу изменить фильтр на
FILTER(?movie = wd:Q179215 && ?movie = wd:Q181795)
но это не возвращает никаких предметов.
Я пытался использовать
select ?actor ?actorLabel where {
?actor wdt:P106 wd:Q33999 .
wd:Q181795 wdt:P161 ?actor .
wd:Q181803 wdt:P161 ?actor .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
Но это упускает многих актеров. Даже если сделать это с одним фильмом, получится неполный список актеров.