Найти узлы neo4j с несколькими входящими отношениями

Я пытаюсь найти все узлы с несколькими входящими отношениями. Учитывая эти данные:

a-[has]->b
a-[has]->c
d-[has]->b

Итак, я ищу запрос, который возвращает "b", потому что у него больше, чем один входящий.

Этот запрос близок. Он возвращает "a" и "b", потому что у них обоих есть 2 отношения:

match (n)--()
with n,count(*) as rel_cnt
where rel_cnt > 1
return n;

Однако этот запрос (добавление "->") не возвращает, и я не знаю, почему:

match (n)-->()
with n,count(*) as rel_cnt
where rel_cnt > 1
return n;

Неужели я все это делаю неправильно?

Ответы

Ответ 1

Это работает для вас?

MATCH ()-[r:has]->(n)
WITH n, count(r) as rel_cnt
WHERE rel_cnt > 1
RETURN n;

Я предполагаю, возможно, неправильно, что "имеет" - соответствующий тип отношения. Если нет, попробуйте:

MATCH ()-[r]->(n)
WITH n, count(r) as rel_cnt
WHERE rel_cnt > 1
RETURN n;