如何在Neo4j中删除/创建数据库?

rmv*_*rmv 101 database nodes neo4j relationships sql-delete

是否有可能在MySQL 数据库Neo4j中创建/删除不同的数据库?或者,至少,如何删除现有图形的所有节点和关系以获得测试的干净设置,例如,使用类似于rmrel或的shell命令rm

Joh*_*hir 96

删除所有节点和关系的更简单的命令:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
Run Code Online (Sandbox Code Playgroud)

  • 声明为+1.但请注意,仅仅因为删除了所有节点,并不意味着您使用的标签完全被遗忘.浏览器仍会显示所有标签.同上节点属性和关系标签. (11认同)
  • 可能不仅有节点和边缘,还有DB中的索引,并且更难以摆脱它们.此外,我只是通过大量的重复测试(包括删除)来破坏数据库实例,它看起来像物理上删除了DB文件并且让Neo4J在重启时重新创建它们会带来明显的性能提升. (4认同)

Pet*_*uer 95

您可以删除整个图形目录rm -rf,因为Neo4j不存储除此之外的任何内容:

rm -rf data/*
Run Code Online (Sandbox Code Playgroud)

此外,您当然可以遍历所有节点并删除它们之间的关系和节点本身,但这对于测试来说可能成本太高......

  • 如果迭代所有节点,那么让参考节点保持不变是一个好主意. (7认同)
  • 图表目录在哪里? (6认同)
  • 在MacOSX上使用自制软件:/usr/local/Cellar/neo4j/community-1.9.2-unix/libexec/data (6认同)
  • 也许在执行此命令之前停止neo4j服务器是个好主意. (5认同)
  • @Pramod它在neo4j目录的数据目录中.你不能错过它 (3认同)
  • Neo4J Web UI的用户注意:**删除数据目录将擦除命令行历史记录!**要在保持Web UI命令行历史记录不变的情况下安全删除数据库,请使用`rm data/graph.db` (2认同)

Som*_*luk 50

来自Neo4j 2.3,

我们可以删除所有关系的节点,

MATCH (n)
DETACH DELETE n
Run Code Online (Sandbox Code Playgroud)

目前,没有任何选项可以在Noe4j中创建多个数据库.您需要制作多个Neo4j数据存储.见参考文献.

  • 如果您不想求助于文件系统,那么最佳答案. (3认同)

Bha*_*aja 47

在Neo4j中创建新数据库

在启动neo4j社区之前,单击浏览选项

在此输入图像描述

并选择一个不同的目录

在此输入图像描述

在此输入图像描述

然后单击开始按钮.

在此输入图像描述

在该目录上创建的新数据库


Sco*_*ott 12

快速和肮脏的方式工作正常:

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
Run Code Online (Sandbox Code Playgroud)


Mat*_*ngo 11

对于需要干净图来运行测试套件的任何其他人 - https://github.com/jexp/neo4j-clean-remote-db-addon是一个很好的扩展,允许通过REST调用清除数据库.但显然,不要在生产中使用它!


Pra*_*mod 7

在另一个neo4j实例上运行您的测试代码.

  1. 将neo4j目录复制到新位置.用它来测试.cd进入新目录.
  2. 更改端口,以便您可以运行测试并同时正常使用它.更改端口打开conf/neo4j-server.properties并设置org.neo4j.server.webserver.port为未使用的端口.
  3. 在安装时启动测试服务器.不要./neo4j stoprm -rf data/graph.db上拆卸.

有关更多详细信息,请参阅neo4j:如何切换数据库?文档.


小智 6

在Neo4j 2.0.0中?不再受支持.使用OPTIONAL MATCH代替:

START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
Run Code Online (Sandbox Code Playgroud)


use*_*532 6

最简单的答案是:

"重新开始"的最佳方式是

  • 移动到另一个空数据文件夹

要么

  • 完全关闭Neo4j
  • 清空旧数据文件夹
  • 重新启动Neo4j并将空文件夹设置为数据文件夹

有一种方法来删除所有节点和关系(如描述这里)

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
Run Code Online (Sandbox Code Playgroud)