Я пытаюсь получить уникальный набор элементов, связанных с данным графом node. У меня есть некоторые узлы, загруженные в базу данных диаграммы Neo4j, которые связаны с использованием отношения "TO" (например, node 6 соединяет "TO" node 7). Я смог получить все пути между моим стартом node и другими, связанными отношениями "TO" , используя:
start a = node(6)
match p = (a)-[r:TO*..]->(b)
return distinct EXTRACT(n in nodes(p): n);
Это дает мне выходные пути, которые различны, но все еще имеют повторяющиеся значения node, например:
+-------------------------------------------------------+
| p |
+-------------------------------------------------------+
| [Node[6]{},:TO[5] {},Node[7]{}] |
| [Node[6]{},:TO[5] {},Node[7]{},:TO[9] {},Node[11]{}] |
etc...
Как объединить эти пути в один список, содержащий уникальные значения пути? Я пытался использовать COLLECT, но это приводит к вложенной версии приведенных выше результатов:
start a = node(6)
match p = (a)-[r:TO*..]->(b)
return collect(distinct p);
[[Node[6]{},:TO[5] {},Node[7]{}],[Node[6]{},:TO[5] {},Node[7]{},:TO[9] {}, ... ]