ノードを削除するのと同じ方法で、削除する関係を一致させることにより、関係を削除できます。
1つまたは複数の関係を一度に削除できます。データベース内のすべての関係を削除することもできます。
まず、記憶の復習として、以前に作成した関係を次に示します。
タイプRELEASEDの関係を削除しましょう 。
これについてはいくつかの方法があります。 3つ見てみましょう。
次のステートメントは非常に広範です—タイプ RELEASEDのすべての関係を削除します :
MATCH ()-[r:RELEASED]-() DELETE r
より具体的に、次のように書くこともできます:
MATCH (:Artist)-[r:RELEASED]-(:Album) DELETE r
上記のステートメントは、すべての Artistに一致します 関係タイプがRELEASEDのノード アルバム付き ノード。
さらに具体的にして、次のようなことを行うことができます:
MATCH (:Artist {Name: "Strapping Young Lad"})-[r:RELEASED]-(:Album {Name: "Heavy as a Really Heavy Thing"}) DELETE r
これらのステートメントのいずれかがRELEASEDになります 関係が削除されます。グラフは次のようになります:
リレーションシップがアタッチされたノードの削除
ノードにまだ関係が関連付けられている場合、ノードを削除することはできません。
次のステートメントを実行しようとすると:
MATCH (a:Artist {Name: "Strapping Young Lad"}) DELETE a
次のエラーが発生します:
これは、そのノードに接続された関係があるためです。
1つのオプションは、すべての関係を削除してから、ノードを削除することです。
もう1つのオプションは、DETACH DELETE
を使用することです。 句。 DETACH DELETE
句を使用すると、ノードとそれに接続されているすべての関係を削除できます。
したがって、上記のステートメントを次のように変更できます:
MATCH (a:Artist {Name: "Strapping Young Lad"}) DETACH DELETE a
そのステートメントを実行すると、次の成功メッセージが表示されます。
データベース全体を削除する
DETACH DELETE
を取得できます さらに一歩進んで、データベース全体を削除します。
フィルタリング基準を削除するだけで、すべてのノードとすべての関係が削除されます。
先に進み、次のステートメントを実行します。
MATCH (n) DETACH DELETE n
データベースにデータがなくなったので、これでチュートリアルは終わりだと思います:)
Neo4jの操作について詳しく知りたい場合は、Neo4jの公式ドキュメントを確認してください。