Найти узлы 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;