Пример в онлайн-курсе требует 3 рекомендуемых актеров, с которыми Киану Ривз должен работать, но не работает, решение в этом примере продемонстрировано как:
MATCH (keanu:Person {name:"Keanu Reeves"})-[:ACTED_IN]->()<-[:ACTED_IN]-(c),
(c)-[:ACTED_IN]->()<-[:ACTED_IN]-(coc)
WHERE coc <> keanu AND NOT((keanu)-[:ACTED_IN]->()<-[:ACTED_IN]-(coc))
RETURN coc.name, count(coc)
ORDER BY count(coc) DESC
LIMIT 3;
Результаты вышеперечисленного
Tom Hanks 4
Stephen Rea 3
John Hurt 3
Тем не менее, Том Хэнкс по выборке сыграл в 12 фильмах. Кроме того, есть кинозвезды с более высоким рейтингом, такие как Мег Райан, которых нет в этом списке.
Моим решением был этот шифр
match (other:Person)-[:ACTED_IN]->(movie),
(keanu:Person {name:'Keanu Reeves'})
WHERE
NOT (keanu)-[:ACTED_IN]->(movie)
return other.name, count(movie)
order by count(movie) desc
limit 3;
Что приводит к следующему:
Tom Hanks 12
Meg Ryan 5
Jack Nicholson 4
Я что-то упускаю? Или приведенный пример решения не является точным.
Я новичок в Neo4j, так что простите меня, если я совсем не в себе.