对于具有多个关系的节点,显示与cypher的所有传出关系

时间:2018-09-21 19:34:09

标签: neo4j cypher relationship

我目前有一个图形数据库,其中包含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 :(得分:1)

[编辑]

这应该有效:

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

如果您使用COLLECT()之类的aggregating function指定一组“分组键”(在上面的查询中,u是唯一的分组键),则聚合将在那套钥匙。

因此,在以上查询中,COLLECT(n)正在为同一n节点收集u个节点。