Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除neo4j中的所有节点和所有关系_Neo4j - Fatal编程技术网

如何删除neo4j中的所有节点和所有关系

如何删除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.

我知道有人问过很多类似的问题。但似乎答案不能解决我的问题。 我有一个非常大的图,大约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.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.

您是否尝试过减小批量大小,即限制?您是否尝试过减小批量大小,即限制?