web-dev-qa-db-ja.com

Neo4jでデータベースを削除/作成する方法は?

グラフデータベースで異なるデータベースを作成/削除することは可能ですか? Neo4j MySQLのように?または、少なくともrmrelまたはrmに類似したシェルコマンドを使用して、テストのクリーンなセットアップを取得するために、既存のグラフのすべてのノードと関係を削除する方法

101
rmv

Neo4jはその外部に何も保存しないため、rm -rfでグラフディレクトリ全体を削除できます。

rm -rf data/*

また、もちろんすべてのノードを反復処理し、それらの関係とノード自体を削除することもできますが、テストだけではコストがかかりすぎる可能性があります...

95
Peter Neubauer

すべてのノードと関係を削除するさらに簡単なコマンド:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
96
John Bachir

Neo4j 2.3以降、

リレーションシップを持つすべてのノード を削除できます。

MATCH (n)
DETACH DELETE n

現在、Noe4jに複数のデータベースを作成するオプションはありません。 Neo4jデータの複数のストアを作成する必要があります。 参照 を参照してください。

47
Somnath Muluk

Neo4jで新しいデータベースを作成する

Neo4jコミュニティを開始する前に、参照オプションをクリックします

enter image description here

別のディレクトリを選択します

enter image description here

enter image description here

開始ボタンをクリックします。

enter image description here

そのディレクトリで作成された新しいデータベース

47
Bharathiraja

迅速かつ汚い方法でうまくいきます:

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

テストスイートを実行するためにクリーンなグラフを必要とする他の人のために- https://github.com/jexp/neo4j-clean-remote-db-addon は、データベースをクリアするための素晴らしい拡張機能ですREST呼び出し。ただし、明らかに、本番環境では使用しないでください!

11
Matt Luongo

別のneo4jインスタンスでテストコードを実行します。

  1. Neo4jディレクトリを新しい場所にコピーします。これをテストに使用します。新しいディレクトリにcdします。
  2. テストを実行し、通常どおり同時に使用できるようにポートを変更します。ポートを変更するには、conf/neo4j-server.propertiesを開き、org.neo4j.server.webserver.portを未使用のものに設定します。
  3. セットアップ時にテストサーバーを起動します。分解時に./neo4j stopおよびrm -rf data/graph.dbを実行します。

詳細については、 neo4j:データベースの切り替え方法 および docs を参照してください。

7
Pramod

Neo4j 2.0.0では?サポートされなくなりました。代わりにオプションマッチを使用します。

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

最も簡単な答えは:NO

「やり直す」ための最良の方法は

  • 別の空のデータフォルダーに移動する

または

  • neo4jを完全に閉じます
  • 古いデータフォルダを空にします
  • neo4jを再起動し、空のフォルダーをデータフォルダーとして設定します

すべてのノードと関係を削除する方法があります( here で説明)

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

2.0.0 -M6では、次のCypherスクリプトを実行して、すべてのノードと関係を削除できます。

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

バージョン3の時点で、個別のデータベースインスタンスを作成できるようになったため、それらの場所はわずかに異なります。

参照: https://neo4j.com/developer/guide-import-csv/

--into retail.dbは明らかにターゲットデータベースであり、既存のデータベースを含めることはできません。

Ubuntuボックスの場所は次のとおりです。

/var/lib/neo4j/data/databases現在のところgraph.dbのみが表示されますが、これがデフォルトであると思われます。

1
Antony

データファイルを削除できます。この方法を使用する場合は、graph.dbのみを削除することをお勧めします。それ以外の場合は、認証情報を台無しにします。

0
raeffray