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)
Pet*_*uer 95
您可以删除整个图形目录rm -rf
,因为Neo4j不存储除此之外的任何内容:
rm -rf data/*
Run Code Online (Sandbox Code Playgroud)
此外,您当然可以遍历所有节点并删除它们之间的关系和节点本身,但这对于测试来说可能成本太高......
Som*_*luk 50
我们可以删除所有关系的节点,
MATCH (n)
DETACH DELETE n
Run Code Online (Sandbox Code Playgroud)
目前,没有任何选项可以在Noe4j中创建多个数据库.您需要制作多个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调用清除数据库.但显然,不要在生产中使用它!
在另一个neo4j实例上运行您的测试代码.
conf/neo4j-server.properties
并设置org.neo4j.server.webserver.port
为未使用的端口../neo4j stop
和rm -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)
最简单的答案是:不
"重新开始"的最佳方式是
要么
有一种方法来删除所有节点和关系(如描述这里)
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
Run Code Online (Sandbox Code Playgroud)