如何在Neo4j的Cypher中获得连接到集合中每个其他节点的节点?

时间:2014-05-08 08:03:53

标签: java neo4j cypher

我有输入' N'节点,我想得到M'节点如:

'米'是一个属于' M' 的节点,其中' m'直接连接到' N' 中的每个节点。

我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

路径中的复杂条件可能难以在密码中表达。如果标准与抽象中一样简单,则可以收集“N”个节点,并使用ALL和路径谓词过滤匹配的“M”节点。

使用类似

的图表
(:N)<--(m1:M)-->(:N)<--(m2:M)

您想要返回(m1)而不是(m2),对吗?尝试

MATCH (n:N)
WITH collect(n) AS nn
MATCH (m:M)
WHERE ALL (n IN nn 
       WHERE n--m)
RETURN m

见控制台: http://console.neo4j.org/?id=cqrrpe