106

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

4

13 に答える 13

100

rm -rfNeo4j はそれ以外に何も格納していないため、を使用してグラフ ディレクトリ全体を削除できます。

rm -rf data/*

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

于 2010-12-22T09:32:22.843 に答える
100

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

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
于 2014-01-21T06:32:57.940 に答える
47

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

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

ここに画像の説明を入力

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

ここに画像の説明を入力

ここに画像の説明を入力

そしてスタートボタンをクリック。

ここに画像の説明を入力

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

于 2014-05-29T09:53:47.377 に答える
13

うまく機能する迅速で汚い方法:

bin/neo4j stop
rm -rf data/
mkdir data
bin/neo4j start
于 2014-07-14T20:48:33.860 に答える
11

テスト スイートを実行するためにクリーンなグラフが必要な場合は、 https://github.com/jexp/neo4j-clean-remote-db-addonを使用すると、REST 呼び出しでデータベースをクリアできるようになります。ただし、明らかに、本番環境では使用しないでください。

于 2011-09-29T17:32:00.190 に答える
7

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

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

詳細については、neo4j:データベースを切り替える方法を参照してください。およびドキュメント

于 2013-03-20T17:06:18.770 に答える
6

最も簡単な答えは:いいえ

「最初からやり直す」ための最良の方法は、

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

また

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

すべてのノードと関係を削除する方法があります (ここで説明されているように)

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
于 2015-06-11T22:19:51.287 に答える
1

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

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

--into Retail.db は明らかにターゲット データベースであり、既存のデータベースが含まれていてはなりません。

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

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

于 2017-04-25T11:50:52.777 に答える
0

データ ファイルを削除することができます。この方法を使用する場合は、たとえば、graph.db だけを削除することをお勧めします。そうしないと、認証情報が台無しになります。

于 2015-10-07T14:57:42.647 に答える
0

非常に大きなデータベースがある場合、

`MATCH (n) DETACH DELETE n`

多くの時間がかかり、データベースがスタックする可能性もあります(使用しようとしましたが、非常に大きなデータベースでは機能しません)。Linuxサーバー上のより大きなNeo4jデータベースを削除する方法は次のとおりです。

  1. まず、実行中の Neo4j データベースを停止します。

    sudo neo4j stop

  2. 次に、neo4jフォルダーのdataフォルダー内のデータベースフォルダーとトランザクションフォルダーを削除します。では、 neo4jフォルダーはどこにありますか? を実行すると、neo4j 実行可能パスを見つけることができます。そのパスを通過するデータフォルダーを確認します ( neo4jフォルダー内にあります)。データフォルダー内に移動すると、データベーストランザクションフォルダーが表示されます。which neo4j

    rm -rf databases/ rm -rf transactions/

  3. Neo4j サーバーを再起動します

    sudo neo4j start

于 2021-07-26T17:37:50.507 に答える