Получение / хранение всех связанных актеров в Freebase
Я пытаюсь сделать что-то, что (должно быть) очень просто. Может я'Я что-то упустил.
Я хочу получить полный список людей, с которыми работал человек. Моя конечная цель - выяснить, с кем он работает чаще всего (в каких бы то ни было отношениях)
Пример:Robert De Niro
действовал вместе с Джо Пески 7 раз, но направил его дважды. Я хочу таблицу с 9 записями в результате.
Я могу использовать API темы, но это только возвращает список фильмов. Затем мне нужно выполнить более 10 запросов API, чтобы получить актерский состав каждого фильма. Занимает вечность, а код - это кошмар.
Если я использую поиск MQL, я могу искать только фильмы, которыеRobert De Niro
имеетиграл в, но не каждый фильм, который он снял, или написал, или продюсировал,или же в главной роли. В основном я могу искать только по 1 роли за раз.
Есть ли способ лучше? Мне нужно закончить со списком:
Movies
Actors/Crew People
Roles
соединениеMovies
а такжеPeople
Что я делаю в настоящее время:
ИщиRobert De Niro
и получите ID машиныВыполните поиск темы для этого MID, возвращая список фильмов MID, над которыми он работалВыполните поиск по темам для каждого фильма MID и запишите поля, такие как Direct_by, Starring, продукции_by и т. Д.Как вы можете видеть этоЭто очень дорогая операция. Это'Также очень трудно избежать дубликатов таким образом (хотя яработаю над этим)
редактировать: здесьs мой текущий MQL-запрос (по какой-то причине он работает, только если я также укажу два имени актера, но это 'Еще одна проблема.
$query = array(array(
'a:starring'=>array('actor'=>'Joe Pesci'),
'b:starring'=>array('actor'=>'Robert De Niro'),
'directed_by'=>null,
'produced_by'=>array(),
'written_by'=>array(),
'executive_produced_by'=>array(),
'name'=>null,
'mid'=>null,
'starring'=>array(array('actor'=>array('mid'=>null,
'name'=>null))),
'type'=>'/film/film'
));
MQL:
[{
"a:starring":
{"actor":"Joe Pesci"},
"b:starring":
{"actor":"Robert De Niro"},
"directed_by":null,
"produced_by":[],
"written_by":[],
"executive_produced_by":[],
"name":null,
"mid":null,
"starring":
[{"actor":
{"mid":null,"name":null}}],
"type":"\/film\/film"}]