У меня есть следующий пример в Neo4J, где пользователи интересуются друг другом. Существует два соединения, поскольку каждый пользователь может индивидуально установить весовой коэффициент, и некоторые пользователи могут не интересоваться друг другом.
Я хочу написать запрос Cypher, который извлекает связанных пользователей для пользователя, но также сообщает мне, какие пользователи подключены.
Например, для пользователя Фред, верните Тома, Джейн, а также верните, что Джейн заинтересована в Томе. Боб и Сара не должны быть возвращены.
Вот что у меня есть:
MATCH (u:User)-[r1:INTERESTED_IN]->(u2:User)
WHERE u.emailAddress ='fred@mail.com'
OPTIONAL MATCH (u)-[r2:INTERESTED_IN]->(u3:User)
OPTIONAL MATCH (u2)-[r3:INTERESTED_IN]->(u3)
RETURN u, r1, u2, r2, u3, r3
Это правильно? Я хочу сопоставить это с методом репозитория Spring Neo4J, но хочу убедиться, что запрос правильный, и я смогу перемещаться по графу объектов, чтобы вывести информацию выше.
Буду признателен за любую помощь.