97

我知道很多人已经
为我的研究提出了这个问题,这是之前提出的一些问题

  1. 如何删除neo4j图中的所有关系?
  2. https://groups.google.com/forum/#!topic/neo4j/lgIaESPgUgE

但毕竟还是解决不了我们的问题,
我们只想删除“ALL”节点和“ALL”关系

在此处输入图像描述

假设 delete "ALL" 可以看到剩下0 个节点 0 个属性和 0 个关系

这是我执行论坛建议的删除“ALL”后的截图

我的问题还是一样,如何删除neo4j中的所有节点和所有关系

4

7 回答 7

267

从 2.3.0 到 3.3.0

MATCH (n)
DETACH DELETE n

文档

2.3.0 之前

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

文档

于 2014-01-25T23:13:17.987 回答
6

你可能做对了,只有仪表板只显示更高的 ID,因此“活动”节点的数量,关系,虽然没有。它只是提供信息。

为确保您有一个空图,请运行以下命令:

START n=node(*) return count(n);
START r=rel(*) return count(r);

如果两者都给你0,你的删除是成功的。

于 2013-01-10T08:44:48.270 回答
5

对于大型数据库,您应该从磁盘中删除数据库(我猜在您首先停止引擎之后)或在 Cypher 中使用类似的东西:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n,r LIMIT 50000
DELETE n,r
RETURN count(n) as deletedNodesCount

有关我从各种答案中收集到的更多信息,请参阅https://zoomicon.wordpress.com/2015/04/18/howto-delete-all-nodes-and-relationships-from-neo4j-graph-database/

于 2015-04-25T19:34:51.553 回答
3

Neo4j 不能删除有关系的节点。您必须先删除关系,然后才能删除节点。

但是,使用简单的 chyper 删除“ALL”节点和“ALL”关系是一种简单的方法。这是代码:

匹配 (n) 分离删除 n

--> DETACH DELETE 将通过 Match 删除所有节点和关系

于 2018-08-04T16:03:01.447 回答
0

如果节点的名称是例如:abcd 那么下面的查询将起作用:

MATCH (n:abcd)
DETACH DELETE n

这只会删除标签为“abcd”的节点及其所有关系。

于 2019-11-29T07:59:06.967 回答
0

可能您会想要删除约束和索引

于 2020-01-02T19:23:47.693 回答
-1

它会做的伎俩..

Match (n)-[r]-()
Delete n,r;
于 2014-10-13T11:18:29.297 回答