删除Neo4j中的几个节点

Mic*_*sen 2 neo4j cypher

我有一个包含多个节点 ID 的数组要删除。我能找到的每个 Cypher 示例要么删除一个节点,要么删除所有节点。如何在单个查询中删除与一组 ID 匹配的节点?

像这样的东西...... (伪代码)

MATCH (n:Node) WHERE (n.id in ['id_a', 'id_b']) DELETE n;
Run Code Online (Sandbox Code Playgroud)

Wil*_*yon 5

您可以使用IN列表运算符

如果id是一个属性:

WITH [1,2,3,4] AS ids
MATCH (n) WHERE n.id IN ids
DETACH DELETE n;
Run Code Online (Sandbox Code Playgroud)

如果id你指的是内部节点 id:

WITH [1,2,3,4] AS ids
MATCH (n) WHERE id(n) IN ids
DETACH DELETE n;
Run Code Online (Sandbox Code Playgroud)