Получение / хранение всех связанных актеров в 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 и т. Д.

Как видите, это очень дорогая операция. Также очень трудно избежать дубликатов таким образом (хотя я работаю над этим)

edit: вот мой текущий 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"}]

Ответы на вопрос(2)

Ваш ответ на вопрос