Я пытаюсь написать запрос для возврата всех связанных узлов, связанных с "IMMEDIATE_FAMILY_MEMBER"
Это мой запрос до сих пор
MATCH (f:NaturalPerson)-[r:IMMEDIATE_FAMILY_MEMBER*1..6]-(t)
WHERE f.Name="Jacob"
RETURN f AS fromNode, t AS toNode, r AS Metadata
Первоначально я думал, что это сработало довольно хорошо, но как только я добавил ребенка Thuthukile (Parents Jacob and Nkosazana), я получил «дублирующие» результаты.
В настоящий момент запрос вернет пару связанных узлов и все связи, которые были пройдены для их соединения (т. Е. Метаданных).
Как изменить этот запрос, чтобы я вернулсяотдельная пара узлов с кратчайшим путем (всеми связями) между ними.
Также в качестве дополнительного вопроса можно указать или для метки самого отношения. То есть тот же запрос, но также включает в себя следующее: отношение ЗНАЕТ
Редактировать:
ответ cybersams был верным, я внес одно небольшое изменение, чтобы получить желаемый результат.
Myпоследний запрос был таким:
MATCH (f:NaturalPerson)-[r:IMMEDIATE_FAMILY_MEMBER*..6]-(t)
WHERE f.Name="Jacob" AND t.Name<>"Jacob"
WITH f, t, r
ORDER BY SIZE(r)
RETURN f AS fromNode, t AS toNode, COLLECT(r)[0] AS Metadata
Мне нужно было исключить "от человека" в качестве пункта назначения, поскольку меня не интересовал кратчайший путь к родителю