在图形数据库Neo4j中,是否可以像MySQL一样创建/删除不同的数据库?或者至少如何删除现有图形的所有节点和关系,以便在测试中获得干净的设置,例如使用类似于rmrel
或rm
的shell命令?
在图形数据库Neo4j中,是否可以像MySQL一样创建/删除不同的数据库?或者至少如何删除现有图形的所有节点和关系,以便在测试中获得干净的设置,例如使用类似于rmrel
或rm
的shell命令?
删除所有节点和关系的更简单的命令:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
你可以使用 rm -rf
命令直接删除整个图形目录,因为 Neo4j 不会在图形目录之外存储任何数据:
rm -rf data/*
当然,你可以遍历所有节点并删除它们的关系和节点本身,但这可能会因为测试而过于昂贵...
rm data/graph.db
。 - Noah Sussman我们可以使用删除所有带有关系的节点
MATCH (n)
DETACH DELETE n
目前还没有任何选项可以在Neo4j中创建多个数据库。 您需要制作多个Neo4j数据存储。请参见引用。
在Neo4j中创建新数据库
在开始使用Neo4j社区版之前,点击浏览选项
并选择另一个目录
然后点击开始按钮。
在该目录下创建了新的数据库。
快速而有效的方式:
bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
如果其他人需要一个干净的图表来运行测试套件,可以使用https://github.com/jexp/neo4j-clean-remote-db-addon这个扩展程序通过 REST 调用清除数据库。但显然,不要在生产环境中使用它!
setRefenceNode()
调用(https://dev59.com/E1rUa4cB1Zd3GeqPlp4_)。 - Matt Luongo在不同的neo4j实例上运行你的测试代码。
conf/neo4j-server.properties
文件,并将org.neo4j.server.webserver.port
设置为未使用的端口。./neo4j stop
和rm -rf data/graph.db
。有关详细信息,请参见neo4j:如何切换数据库? 和文档。
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
/var/lib/neo4j/data/databases
,我目前只看到graph.db
,我相信这必须是默认值。