Не уверен, что название объясняет все, но я изучаю Cypher, используя Neo4j и базу данных фильмов (отсюда: https://neo4j.com/developer/example-data/), и я пытаюсь создать запрос, который даст мне каждый фильм, режиссер также действовал в нем.Поиск узлов с 2 отношениями
Чтобы привести пример такого фильма, «Криминальное чтиво» - Квентин Тарантино, действовали и режиссировали фильм.
Я придумал этот запрос для приведенного выше примера:
match (m:Movie)-[:ACTS_IN]-(d:Director)-[:DIRECTED]->(n:Movie)
where d.name STARTS WITH 'Q'
return *
Но это, кажется, не работает так, как я ожидал, что это. Я получаю все фильмы, в которых он был направлен и действовал, в то время как мне нужны только те, где он сделал оба.
Вы также можете проверить, работает ли режиссер в фильме как часть предиката. Вместо второго MATCH вы можете продолжить предложение WHERE с шаблоном, который вы хотите использовать: 'AND (d) - [: ACTS_IN] -> (m)' – InverseFalcon