Я смотрю пример проекта фильма Neo4j: https://github.com/neo4j-examples/movies-java-spring-data-neo4j-4.
Один из примеров рекомендует новых со-актеров для Тома Хэнкса, то есть найти актеров, с которыми Том Хэнкс еще не работал, но есть у его со-актеров.
Запрос:
MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
(coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cocoActors)
WHERE NOT (tom)-[:ACTED_IN]->(m2)
RETURN cocoActors.name AS Recommended, count(*) AS Strength ORDER BY Strength DESC
Три лучших результата: Рекомендуемая сила Том Круз 5 Зак Гренье 5 Хелен Хант 4
Однако Хелен Хант возвращается в список со-актеров Тома Хэнкса:
MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN coActors.name
И Том Хэнкс возвращается в список со-актеров Хелен Хант:
MATCH (tom:Person {name:"Helen Hunt"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN coActors.name
Это ошибка в Neo4j или в запросе, приведенном в руководстве? Если это ошибка в запросе Каков правильный запрос?