Neo4j 删除除 UkPostcode 之外的所有节点和关系

Neo4j delete all nodes and relationships apart from UkPostcode

我可以用这个删除人及其关联的节点和边:

    const neo4jSearchAndDestroy = await runQuery({
      query: `
      unwind $deletedIDs as accountId
      match (p:Person{ id: accountId })-[*..3]-(c) 
      detach delete p, c
      `,
      params: {
        deletedIDs: deletedIDs,
      },
    });

但我不想像这样删除连接到 'Person' 节点的 'Postcode' 节点:(Person)-[:PLACE]-(Postcode)

我已经尝试过 WHERE NOT 例如:

match (p:Person{ id: '08377f57-6d27-4426-bbf6-517501a23074' })-[*..3]-(c) WHERE NOT (p)-[:PLACE]-() return *

你可以试试这个:

  unwind $deletedIDs as accountId
  match (p:Person{ id: accountId })-[*..3]-(c) 
  with p,c WHERE NOT c:Postcode
  detach delete p, c