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

时间:2013-01-10 07:12:41

标签: neo4j nosql relationship

我知道很多人已经问过这个问题 对于我的研究,这里提出了一些问题

  1. How to delete all relationships in neo4j graph?
  2. https://groups.google.com/forum/#!topic/neo4j/lgIaESPgUgE
  3. 毕竟,仍然无法解决我们的问题,
    我们只想删除“所有”节点和“所有”关系

    enter image description here

    假设删除“ALL”可以看到有 0个节点0属性和0个关系

    这是我在执行论坛

    建议删除“ALL”后拍摄的屏幕截图

    我的问题仍然相同,如何删除neo4j中的所有节点和所有关系

7 个答案:

答案 0 :(得分:217)

自2.3.0起至3.3.0

MATCH (n)
DETACH DELETE n

Docs

Pre 2.3.0

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

Docs

答案 1 :(得分:6)

你可能做得正确,只有仪表板只显示较高的ID,因此显示“活动”节点的数量,关系,尽管没有。这只是提供信息。

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

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

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

答案 2 :(得分:4)

对于一个大型数据库,您应该从磁盘中删除数据库(在您首先停止引擎之后)或在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/,了解我从各种答案中收集到的更多信息

答案 3 :(得分:2)

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

但是,这是一种简单的方法,可以用一个简单的密钥删除“ ALL”节点和“ ALL”关系。 这是代码:

匹配(n)个,删除n

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

答案 4 :(得分:0)

如果节点名称例如:abcd,则下面的查询将起作用:

MATCH (n:abcd)
DETACH DELETE n

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

答案 5 :(得分:0)

可能您将要删除约束和索引

答案 6 :(得分:-1)

它会起作用..

Match (n)-[r]-()
Delete n,r;