NEO4Jでデータベースを削除/作成する方法は?
-
12-10-2019 - |
質問
グラフデータベース内のさまざまなデータベースを作成/削除することは可能ですか neo4j mysqlのように?または、少なくとも、既存のグラフのすべてのノードと関係を削除して、テスト用のクリーンなセットアップを取得する方法など、 rmrel
また rm
?
解決
グラフディレクトリ全体を削除するだけです rm -rf
, 、Neo4Jはその外に何も保存していないためです。
rm -rf data/*
また、もちろん、すべてのノードを繰り返して、それらの関係とノード自体を削除することもできますが、テストするには費用がかかりすぎるかもしれません...
他のヒント
すべてのノードと関係を削除するためのさらに簡単なコマンド:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
Neo4j 2.3から、
削除できます 関係のあるすべてのノード,
MATCH (n)
DETACH DELETE n
現在、NOE4Jで複数のデータベースを作成するオプションはありません。 NEO4Jデータの複数のストアを作成する必要があります。見る 参照.
NEO4Jで新しいデータベースを作成します
NEO4Jコミュニティを開始する前に、[参照]オプションをクリックします
別のディレクトリを選択します
スタート]ボタンをクリックします。
そのDirecoryで作成された新しいデータベース
正常に機能する迅速で汚い方法:
bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
テストスイートを実行するためにクリーングラフを必要とする他の人のために - https://github.com/jexp/neo4j-clean-remote-db-addon 休憩コールでDBをクリアすることを可能にするための優れた拡張機能です。明らかに、生産で使用しないでください!
別のNEO4Jインスタンスでテストコードを実行します。
- NEO4Jディレクトリを新しい場所にコピーします。これをテストに使用してください。新しいディレクトリにCD。
- ポートを変更して、テストを実行して通常同時に使用できるようにします。ポートを開くには
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;
最も簡単な答えは次のとおりです。 いいえ
「やり直す」ための最良の方法は
- 別の空のデータフォルダーに移動します
また
- Neo4Jを完全に閉じます
- 古いデータフォルダーを空にします
- 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の時点で、私は今では個別のデータベースインスタンスを作成することが可能であると考えているため、それらの場所はわずかに異なります。
参照:https://neo4j.com/developer/guide-import-csv/
-into retail.dbは明らかにターゲットデータベースであり、既存のデータベースを含めてはなりません。
私のubuntuボックスには、場所は次のとおりです。
/var/lib/neo4j/data/databases
現在私が見るところだけです graph.db
これはデフォルトでなければならないと思います。
データファイルを削除することができ、この方法を通過したい場合は、たとえばgraph.dbのみを削除することをお勧めします。それ以外の場合は、認証情報を台無しにします。