如何在neo4j中删除多个节点(不是全部)?
我有这个查询
MATCH (n)
where n.name IS NULL
delete n
它返回多个节点,我想删除所有这些节点(所有节点,这些节点被错误地创建,这就是为什么变为空)。
我面临的错误是
javax.transaction.HeuristicRollbackException: Failed to commit transaction Transaction(11, owner:"qtp16626756-84")[STATUS_NO_TRANSACTION,Resources=1], transaction rolled back ---> javax.transaction.xa.XAException
案例2:在NOT NULL(属性)的情况下怎么办但在一个或两个节点内没有关联关系;表示一个orhpan类型的节点,与其他节点没有连接。
我尝试使用LIMIT / SKIP但没有工作。有什么帮助吗?
答案 0 :(得分:12)
您还需要删除与这些节点相关的任何关系,如下所示:
match (n)
where n.name IS NULL
optional match (n)-[r]-()
delete n, r
更新您的第二个案例(这只会删除孤儿):
match (n)
where NOT (n)--()
and n.name IS NULL
delete n