删除Neo4J中以特定节点开头和结尾的所有节点

时间:2018-08-18 06:57:46

标签: neo4j cypher

我正在尝试删除多个节点,或者您可以将其称为以特定节点开头或结尾的“跟踪”。

数据看起来像这样

DATA1 = A,B,C,D

DATA2 = A,C,B,D

DATA3 = A,D,B,C

DATA4 = A,D,C,B

我要删除以特定节点开头或结尾的跟踪的意思是,我要删除所有不以节点A开头或不以节点D结束的跟踪。因此,在前面提到的4个数据示例中,我想用1个查询删除DATA3和DATA4。

1 个答案:

答案 0 :(得分:1)

您基本上想找到某些路径并删除这些路径上的所有节点:

MATCH path = (start:Trace {id:'A'})-[*4:NEXT]->(end:Trace)
WHERE NOT end.id = 'D'
FOREACH (node IN nodes(path) | DETACH DELETE node)