Показать все исходящие отношения с шифром для узлов, имеющих более 1 отношения - PullRequest
0 голосов
/ 21 сентября 2018

В настоящее время у меня есть графовая база данных, которая имеет 2 метки узла и 1 тип отношения.

Если я запускаю

MATCH (u)-[r]->(n) return u, n

, я вижу все.Некоторые узлы имеют несколько исходящих отношений.Я хотел бы отфильтровать это представление для узлов, имеющих 2 или более исходящих отношений.Я пытался

MATCH (u)-[r]->(n) with count(r) as c,u,n  where c > 1 return u, n

Но это не дает мне результатов.Я видел некоторые ответы здесь, которые возвращают только узел, но я хочу, чтобы 2 узла были показаны.Есть идеи?

1 Ответ

0 голосов
/ 21 сентября 2018

[EDITED]

Это должно работать:

MATCH (u)-->(n)
WITH u, COLLECT(n) AS ns
WHERE SIZE(ns) > 1
RETURN u, ns

Если вы укажете набор "ключей группировки" с функцией агрегирования наподобие COLLECT() (в приведенном выше запросе u является единственным ключом группировки), затем агрегация выполняется по этому набору ключей.

Итак, в приведенном выше запросе COLLECT(n) собирает все узлы nдля того же узла u.

...