如何在Neo4j中删除/创build数据库?
是否有可能创build/删除graphics数据库Neo4j中的不同数据库像MySQL中一样? 或者至less,如何删除现有graphics的所有节点和关系以获得干净的testing设置,例如,使用类似于rmrel
或rm
shell命令?
你可以使用rm -rf
来移除整个图表目录,因为Neo4j没有存储任何东西:
rm -rf data/*
另外,你当然也可以迭代所有的节点,并删除它们之间的关系和节点本身,但是这对于testing来说可能太昂贵了。
甚至更简单的命令来删除所有的节点和关系:
MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r
在Neo4j中创build新的数据库
开始neo4j社区之前,点击浏览选项
并select一个不同的目录
并点击开始button。
在该方向上创build新的数据库
从Neo4j 2.3开始,
我们可以删除所有有关系的节点 ,
MATCH (n) DETACH DELETE n
目前没有任何select在Noe4j中创build多个数据库。 您需要制作多个Neo4j数据存储。 参见参考 。
对于需要一个干净的图运行testing套件的人 – https://github.com/jexp/neo4j-clean-remote-db-addon是一个很好的扩展,允许通过REST调用清除数据库。; 显然,不要在生产中使用它!
快速和肮脏的方式,工作正常:
bin/neo4j stop rm -rf data/ mkdir data bin/neo4j start
在不同的neo4j实例上运行你的testing代码。
- 将你的neo4j目录复制到一个新的位置。 使用这个进行testing。 cd进入新的目录。
- 更改端口,以便您可以运行testing并通常同时使用它。 要更改端口,请打开
conf/neo4j-server.properties
并将org.neo4j.server.webserver.port
设置为未使用的端口。 - 在安装程序上启动testing服务器。 做
./neo4j stop
和rm -rf data/graph.db
在拆解。
有关更多详细信息,请参阅neo4j:如何切换数据库? 和文档 。
在Neo4j 2.0.0中? 不再支持。 改用OPTIONAL MATCH:
START n=node(*) OPTIONAL MATCH (n)-[r]-() delete n,r;
最简单的答案是: NO
“重新开始”的最好方法是
- 移动到另一个空的数据文件夹
要么
- 完全closuresNeo4j
- 清空旧的数据文件夹
- 重新启动Neo4j并将空文件夹设置为数据文件夹
有一种方法可以删除所有节点和关系(如此处所述)
MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r
在2.0.0 -M6中您可以执行以下Cypher脚本来删除所有节点和关系:
start n=node(*) match (n)-[r?]-() delete n,r
从版本3开始,我认为现在可以创build单独的数据库实例,因此它们的位置稍有不同。
参考: https : //neo4j.com/developer/guide-import-csv/
–int retail.db显然是目标数据库,它不能包含现有的数据库。
在我的Ubuntu盒子的位置在:
/var/lib/neo4j/data/databases
目前我只能看到graph.db
,我相信它必须是默认的。
你可以删除你的数据文件,如果你想通过这种方式,我build议删除只是你的graph.db,例如。 否则,你会打乱你的身份validation信息。