您可以使用
rm -rf
删除整个图形目录,因为 Neo4j 不存储该目录之外的任何内容:
rm -rf data/*
此外,您当然可以迭代所有节点并删除它们的关系和节点本身,但这对于测试来说可能成本太高......
更简单的命令来删除所有节点和关系:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
在 Neo4j 中创建新数据库
在启动 neo4j 社区之前,单击浏览选项
并选择不同的目录
然后单击开始按钮。
在该目录上创建新数据库
快速而肮脏的方式效果很好:
bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
对于需要干净图表来运行测试套件的任何人 - https://github.com/jexp/neo4j-clean-remote-db-addon 是一个很好的扩展,允许通过 REST 调用清除数据库。但显然,不要在生产中使用它!
在不同的 neo4j 实例上运行测试代码。
conf/neo4j-server.properties
并将 org.neo4j.server.webserver.port
设置为未使用的端口。./neo4j stop
和 rm -rf data/graph.db
。有关更多详细信息,请参阅neo4j:如何切换数据库?和文档。
在 Neo4j 2.0.0 中?不再支持。使用可选匹配代替:
START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
最简单的答案是:不
“重新开始”的最好方法是
或
有一种方法可以删除所有节点和关系(如此处所述)
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
从版本 3 开始,我相信现在可以创建单独的数据库实例,因此它们的位置略有不同。
参考:https://neo4j.com/developer/guide-import-csv/
--into Retail.db 显然是目标数据库,它不能包含现有数据库。
在我的 Ubuntu 盒子上,位置位于:
/var/lib/neo4j/data/databases
,我目前只看到 graph.db
,我相信这一定是默认值。
在2.0.0 -M6中您可以执行以下Cypher脚本来删除所有节点和关系:
start n=node(*)
match (n)-[r?]-()
delete n,r
如果您有非常大的数据库,
`MATCH (n) DETACH DELETE n`
会花费很多时间,而且数据库可能会卡住(我尝试使用它,但不适用于非常大的数据库)。以下是我在 Linux 服务器上删除较大 Neo4j 数据库的方法。
首先停止正在运行的Neo4j数据库。
sudo neo4j stop
其次,删除neo4j文件夹中data文件夹内的databases文件夹和transactions文件夹。那么在哪里可以找到 neo4j 文件夹呢?您可以通过执行
which neo4j
找到neo4j可执行路径。检查通过该路径的 data 文件夹(它位于 neo4j 文件夹内)。进入 data 文件夹,您将看到 databases 和 transactions 文件夹。
rm -rf databases/
rm -rf transactions/
重新启动Neo4j服务器
sudo neo4j start
您可以删除数据文件,如果您想通过这种方式,我建议仅删除您的 graph.db。否则你会弄乱你的身份验证信息。
创建一个新数据库 dbms.databases.my_new_database_name=neo4j
切换黑白数据库 使用我的新数据库名称
删除数据库 比赛(n) 分离 删除 n