グラフデータベースで異なるデータベースを作成/削除することは可能ですか? Neo4j MySQLのように?または、少なくともrmrel
またはrm
に類似したシェルコマンドを使用して、テストのクリーンなセットアップを取得するために、既存のグラフのすべてのノードと関係を削除する方法
Neo4jはその外部に何も保存しないため、rm -rf
でグラフディレクトリ全体を削除できます。
rm -rf data/*
また、もちろんすべてのノードを反復処理し、それらの関係とノード自体を削除することもできますが、テストだけではコストがかかりすぎる可能性があります...
すべてのノードと関係を削除するさらに簡単なコマンド:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
リレーションシップを持つすべてのノード を削除できます。
MATCH (n)
DETACH DELETE n
現在、Noe4jに複数のデータベースを作成するオプションはありません。 Neo4jデータの複数のストアを作成する必要があります。 参照 を参照してください。
Neo4jで新しいデータベースを作成する
Neo4jコミュニティを開始する前に、参照オプションをクリックします
別のディレクトリを選択します
開始ボタンをクリックします。
そのディレクトリで作成された新しいデータベース
迅速かつ汚い方法でうまくいきます:
bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
テストスイートを実行するためにクリーンなグラフを必要とする他の人のために- 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:データベースの切り替え方法 および docs を参照してください。
Neo4j 2.0.0では?サポートされなくなりました。代わりにオプションマッチを使用します。
START n=node(*)
OPTIONAL MATCH (n)-[r]-()
delete n,r;
最も簡単な答えは:NO
「やり直す」ための最良の方法は
または
すべてのノードと関係を削除する方法があります( here で説明)
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のみを削除することをお勧めします。それ以外の場合は、認証情報を台無しにします。