运行此Cypher查询两次以创建Actor的克隆
CREATE (n:Actor { name:"Tom Hanks" });
现在,当我运行此查询时,我有两个节点
MATCH (actor:Actor) RETURN actor;
我得到了结果集
演员
(1:演员{姓名:“汤姆汉克斯”})
(2:演员{姓名:“汤姆汉克斯”})
现在如何只删除第二个节点
答案 0 :(得分:3)
另一种可能性:
MATCH (actor:Actor {name: 'Tom Hanks'})
WITH actor
SKIP 1
DELETE actor;
答案 1 :(得分:2)
您可以收集节点,在for-each循环中循环遍历集合的尾部,并删除每个节点。它适用于你的情况,有两个“汤姆汉克斯”节点,但同样好,如果你有五个或五十个,删除除了一个除外。
MATCH (a:Actor { name:"Tom Hanks" })
WITH collect (a) as aa
FOREACH (b IN TAIL (aa)) |
DELETE b)
或列表切片
MATCH (a:Actor { name:"Tom Hanks" })
WITH collect (a) as aa
FOREACH (b IN aa[1..] |
DELETE b)
答案 2 :(得分:0)
如果您知道节点的标识符,则可以使用它来删除节点。
MATCH (actor:Actor { name: "Tom Hanks" })
WHERE id(actor)=1
DELETE actor;