我有以下问题:
我有一个像这样的MATCH
条款:
MACTH (A)-[*1..]->(B)
现在,如果这个模式匹配,我需要以某种方式复制-[*1..]->
部分并替换其中的所有节点,并且具有另一种类型的节点的特定类型。
例如,如果我有这个图表:
(X1:A)-[:r]->(X2:B)-[:r]->(X3:E)-[:r]->(X4:A)
我可能希望在应用规则MACTH (A:A)-[*1..]->(B:A) something something
(X1:A)-[:r]->(X2:B)-[:r]->(X3:E)-[:r]->(X4:A) , (X1)-[:r]->(X5:C)-[:r]->(X3)-[:r]->(X4)
通过复制(A)
和(B)
之间的路径,并使用类型B
替换C
类型的所有节点
但是如何访问查询的-[*1..]->
部分?
答案 0 :(得分:1)
试试这个
Match (p:Person)-[:RELATED*1..]->(e)
with collect(distinct(id(e))) as ids Match (c:Country) where id(c) in ids
remove c:Country set c:NewLabel
return *
关于数据
Create (p:Person)-[:RELATED]->(b:Person)-[:RELATED]->(c:Client)-[:RELATED]->(e:Country) return *