获取两节点的多层路径时,怎样排除起始节点?
发布于 5 年前 作者 dlliwei 1502 次浏览 来自 问答

需求:获取A -[r*1…3] ->Z 指定深度[1…3]的所有路径, 条件: r 内 所有节点(不含A和Z)的属性 age >10

以下查询不正确, 原因是where条件中包含了A.age>10 和 Z.age>10 MATCH p=(A)-[r*1…3]->(Z) where ALL (x IN nodes ( p ) WHERE x.age > 10 ) RETURN p LIMIT 5

怎样查询可以排除 “A.age>10 和 Z.age>10” 呢?????

2 回复

没太明白,如果是我理解的 不判断A和Z的年龄

MATCH p=(A)-[r*1..3]->(Z)
unwind  nodes(p) as node
where not node in [A,Z]
with p,collect(node) as nodes
where ALL (x IN nodes WHERE x.age > 10 )
RETURN p LIMIT 5

这样写有点粗糙,仅供参考

@lisabiya 你的理解是对的,不判断A和Z的年龄,但是语法运行错误

回到顶部