找到具有多个传入关系的neo4j节点

时间:2014-04-10 20:11:26

标签: neo4j cypher

我正在尝试查找具有多个传入关系的所有节点。鉴于此数据:

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

所以,我正在寻找一个返回'b'的查询,因为它有更多的传入。

此查询已结束。它返回'a'和'b',因为它们都有两个关系:

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 个答案:

答案 0 :(得分:29)

这对你有用吗?

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;