如何删除neo4j中的所有节点和所有关系
我知道有人问过很多类似的问题。但似乎答案不能解决我的问题。 我有一个非常大的图,大约100万个节点和300万个关系。当我尝试使用以下语句删除它们时:如何删除neo4j中的所有节点和所有关系,neo4j,Neo4j,我知道有人问过很多类似的问题。但似乎答案不能解决我的问题。 我有一个非常大的图,大约100万个节点和300万个关系。当我尝试使用以下语句删除它们时: MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r 然后服务器崩溃。好的,我加了一个限制: MATCH (n) OPTIONAL MATCH (n)-[r]-() WITH n,r LIMIT 1000000 DELETE n,r 服务器不会崩溃,但出现异常: org.neo4j.kernel.api.
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
然后服务器崩溃。好的,我加了一个限制:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n,r LIMIT 1000000
DELETE n,r
服务器不会崩溃,但出现异常:
org.neo4j.kernel.api.exceptions.TransactionFailureException: Node record Node[1578965,used=false,rel=662269,prop=-1,labels=Inline(0x0:[]),light] still has relationships
我猜限制1000000将停止删除关系。然后,它转而删除节点。这导致了这个例外。我说得对吗?因为我不太了解限制1000000的过程
那我该怎么办?我不想每次需要清除图表时都删除数据库文件。设置更大的内存空间可能会有所帮助,但图形的大小也可能会变大。崩溃终将发生
谢谢你的回复。我试了你的两种方法。在我第二次运行语句时,将出现异常“Neo.DatabaseError.Statement.ExecutionFailure”:
MATCH (n)
WITH n LIMIT 1000000
DETACH DELETE n
MATCH ()-[r]-()
WITH r
LIMIT 1000000
DELETE r
或本声明:
MATCH (n)
WITH n LIMIT 1000000
DETACH DELETE n
MATCH ()-[r]-()
WITH r
LIMIT 1000000
DELETE r
我放弃了。我想我最好删除文件夹中的所有文件。这对我来说是一个简单的方法。您可以先删除关系,然后删除节点 关系
MATCH ()-[r]-()
WITH r
LIMIT 1000000
DELETE r
节点
您可以先删除关系,然后删除节点 关系
MATCH ()-[r]-()
WITH r
LIMIT 1000000
DELETE r
节点
在Neo4j 2.3上,您可以使用
MATCH (n)
WITH n LIMIT 1000000
DETACH DELETE n
否则,您可以尝试通过节点进行限制(只有在每个节点没有大量关系时才有效):
在Neo4j 2.3上,您可以使用
MATCH (n)
WITH n LIMIT 1000000
DETACH DELETE n
否则,您可以尝试通过节点进行限制(只有在每个节点没有大量关系时才有效):
首先删除与以下对象的所有关系: 开始r=关系(*)删除r 并删除所有节点:
MATCH (n) WITH n LIMIT 1000000 DETACH DELETE n.
首先删除与以下对象的所有关系: 开始r=关系(*)删除r 并删除所有节点:
MATCH (n) WITH n LIMIT 1000000 DETACH DELETE n.
您是否尝试过减小批量大小,即限制?您是否尝试过减小批量大小,即限制?