返回所有非连接节点或节点数超过2的节点

时间:2016-12-24 08:17:56

标签: neo4j cypher

我想返回未连接或连接度数为2或更多的节点 例如 a - b - cde 是节点,如果我想返回 a 的节点,那么结果应该是 c d 电子

提前完成。

1 个答案:

答案 0 :(得分:1)

因此,对于给定的起始节点,您需要距离较远或者根本不连接的节点。

另一种说法是,您希望所有节点本身不是有问题的节点,或者与它连接一度。这是查找查询的更容易的案例。

对于这个例子,我假设有问题的节点名为" a"。在实际查询中,您将希望在适当的位置使用标签,并在您计划用于查找的标签/属性上具有索引或唯一约束。否则,对于大图,您的查询可能会很慢。

MATCH (a {name:'a'})-[*0..1]-(excluded)
WITH COLLECT(excluded) as excludedNodes
MATCH (remaining)
WHERE NOT remaining IN excludedNodes
RETURN remaining