How to delete/create databases in Neo4j?

大城市里の小女人 提交于 2019-11-27 09:11:57

问题


Is it possible to create/delete different databases in the graph database Neo4j like in MySQL? Or, at least, how to delete all nodes and relationships of an existing graph to get a clean setup for tests, e.g., using shell commands similar to rmrel or rm?


回答1:


You can just remove the entire graph directory with rm -rf, because Neo4j is not storing anything outside that:

rm -rf data/*

Also, you can of course iterate through all nodes and delete their relationships and the nodes themselves, but that might be too costly just for testing ...




回答2:


even more simple command to delete all nodes and relationships:

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



回答3:


From Neo4j 2.3,

We can delete all nodes with relationships,

MATCH (n)
DETACH DELETE n

Currently there is no any option to create multiple databases in Noe4j. You need to make multiple stores of Neo4j data. See reference.




回答4:


Creating new Database in Neo4j

Before Starting neo4j community click the browse option

and choose a different directory

and click start button.

New database created on that direcory




回答5:


quick and dirty way that works fine:

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



回答6:


For anyone else who needs a clean graph to run a test suite - https://github.com/jexp/neo4j-clean-remote-db-addon is a great extension to allow clearing the db through a REST call. Obviously, though, don't use it in production!




回答7:


Run your test code on a different neo4j instance.

  1. Copy your neo4j directory into a new location. Use this for testing. cd into the new directory.
  2. Change the port so that you can run your tests and use it normally simultaneously. To change the port open conf/neo4j-server.properties and set org.neo4j.server.webserver.port to an unused one.
  3. Start the test server on setup. Do ./neo4j stop and rm -rf data/graph.db on teardown.

For more details see neo4j: How to Switch Database? and the docs.




回答8:


In Neo4j 2.0.0 the ? is no longer supported. Use OPTIONAL MATCH instead:

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



回答9:


Easiest answer is: NO

The best way to "start over" is to

  • move to another empty data folder

or

  • close Neo4j completely
  • empty the old data folder
  • restart Neo4j and set the empty folder as the data folder

There is a way to delete all nodes and relationships (as described here)

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



回答10:


In 2.0.0 -M6 You can execute the following Cypher script to delete all nodes and relations:

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



回答11:


As of version 3 I believe it is now possible to create separate database instances and thus their location is slightly different.

Referring to:https://neo4j.com/developer/guide-import-csv/

The --into retail.db is obviously the target database, which must not contain an existing database.

On my Ubuntu box the location is in:

/var/lib/neo4j/data/databases where I currently see only graph.db which I believe must be the default.




回答12:


You can delete your data files and if you want to go through this way, I would recommend delete just your graph.db, for example. Otherwise your are going to mess your authentication info.



来源:https://stackoverflow.com/questions/4498523/how-to-delete-create-databases-in-neo4j

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!