我正在使用Neo4j在一台拥有16G内存的Linux机器上,并且尝试删除整个图形。该图形包含11353056个关系和19900个节点。当我运行
我该如何删除这个图形呢?我应该先删除关系,然后再删除节点以避免这个问题吗?
Match (n) detach delete n
时,加载了一段时间后会出现内存不足的错误。我该如何删除这个图形呢?我应该先删除关系,然后再删除节点以避免这个问题吗?
按照以下步骤进行,以删除有限制的记录:
MATCH (n)
WITH n LIMIT 10000
DETACH DELETE n
RETURN count(*);
如果您想删除所有类似的属性键,请停止neo4j服务并从data/graph.db
中删除所有内容。
不必使用Cypher来删除整个图形,你可以停止Neo4j并删除data/graph.db
文件夹。然后重新启动Neo4j。
另一个建议是运行带有限制的删除查询,并重复执行,直到没有更多记录存在。
例如:
Match (n) detach delete n limit 5000
你可以使用LIMIT在多个步骤上删除图表
例如
MATCH (n) with n limit 100 DETACH DELETE n
CALL apoc.periodic.iterate('MATCH (n) RETURN n', 'DETACH DELETE n', {batchSize:1000})