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

问题描述 投票:0回答:14

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

rmrel
rm

的 shell 命令
database neo4j nodes sql-delete relationships
14个回答
100
投票

您可以使用

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

rm -rf data/*

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


100
投票

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

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

52
投票

从 Neo4j 2.3 开始,

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

MATCH (n)
DETACH DELETE n

目前Noe4j中没有任何选项可以创建多个数据库。您需要对 Neo4j 数据进行多个存储。请参阅参考


47
投票

在 Neo4j 中创建新数据库

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

enter image description here

并选择不同的目录

enter image description here

enter image description here

然后单击开始按钮。

enter image description here

在该目录上创建新数据库


13
投票

快速而肮脏的方式效果很好:

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start

11
投票

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


7
投票

在不同的 neo4j 实例上运行测试代码。

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

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


6
投票

在 Neo4j 2.0.0 中?不再支持。使用可选匹配代替:

START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;

6
投票

最简单的答案是:

“重新开始”的最好方法是

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

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

有一种方法可以删除所有节点和关系(如此处所述)

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

2
投票

从版本 3 开始,我相信现在可以创建单独的数据库实例,因此它们的位置略有不同。

参考:https://neo4j.com/developer/guide-import-csv/

--into Retail.db 显然是目标数据库,它不能包含现有数据库。

在我的 Ubuntu 盒子上,位置位于:

/var/lib/neo4j/data/databases
,我目前只看到
graph.db
,我相信这一定是默认值。


1
投票

在2.0.0 -M6中您可以执行以下Cypher脚本来删除所有节点和关系:

start n=node(*)
match (n)-[r?]-()
delete n,r

1
投票

如果您有非常大的数据库,

`MATCH (n) DETACH DELETE n`

会花费很多时间,而且数据库可能会卡住(我尝试使用它,但不适用于非常大的数据库)。以下是我在 Linux 服务器上删除较大 Neo4j 数据库的方法。

  1. 首先停止正在运行的Neo4j数据库。

    sudo neo4j stop

  2. 其次,删除neo4j文件夹中data文件夹内的databases文件夹和transactions文件夹。那么在哪里可以找到 neo4j 文件夹呢?您可以通过执行

    which neo4j
    找到neo4j可执行路径。检查通过该路径的 data 文件夹(它位于 neo4j 文件夹内)。进入 data 文件夹,您将看到 databasestransactions 文件夹。

    rm -rf databases/
    rm -rf transactions/

  3. 重新启动Neo4j服务器

    sudo neo4j start


0
投票

您可以删除数据文件,如果您想通过这种方式,我建议仅删除您的 graph.db。否则你会弄乱你的身份验证信息。


0
投票

创建一个新数据库 dbms.databases.my_new_database_name=neo4j

切换黑白数据库 使用我的新数据库名称

删除数据库 比赛(n) 分离 删除 n

© www.soinside.com 2019 - 2024. All rights reserved.