我有可变长度路径的查询。是否可以在where
中使用关系来过滤路径(不使用with
),例如:
match (u:user{id:1})-[r*1..2]->(n) where u-[r[0]]-(:event) return n
这会有效,但速度会慢一些:
match (u:user{id:1})-[r*1..2]->(n) with u, r[0] as r0, n where u-[r0]-(:event) return n
答案 0 :(得分:1)
修改
这应返回相同的结果,但没有WITH子句:
MATCH (u:user{id:1})-[]->(e:event)
OPTIONAL MATCH (e)-[]->(x)
RETURN coalesce(x, e) as n;