Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Neo4j - Löschen Sie eine Beziehung mit Cypher

Sie können Beziehungen genauso löschen wie Knoten – indem Sie die zu löschende(n) Beziehung(en) abgleichen.

Sie können eine oder mehrere Beziehungen auf einmal löschen. Sie können sogar alle Beziehungen in der Datenbank löschen.

Als Gedächtnisauffrischung hier zunächst die Beziehungen, die wir zuvor erstellt haben:

Lassen Sie uns die Beziehung vom Typ RELEASED löschen .

Es gibt mehrere Möglichkeiten, wie wir das angehen könnten. Sehen wir uns drei an.

Die folgende Anweisung ist ziemlich weit gefasst – sie löscht alle Beziehungen vom Typ RELEASED :

MATCH ()-[r:RELEASED]-() 
DELETE r

Sie könnten auch konkreter werden und so etwas schreiben:

MATCH (:Artist)-[r:RELEASED]-(:Album) 
DELETE r

Die obige Aussage trifft auf alle Künstler zu Knoten, die den Beziehungstyp FREIGEGEBEN haben mit einem Album Knoten.

Sie könnten noch spezifischer sein und etwa so vorgehen:

MATCH (:Artist {Name: "Strapping Young Lad"})-[r:RELEASED]-(:Album {Name: "Heavy as a Really Heavy Thing"}) 
DELETE r

Jede dieser Anweisungen führt zu FREIGEGEBEN Beziehung gelöscht. Das Diagramm sieht folgendermaßen aus:

Löschen von Knoten mit angehängten Beziehungen

Knoten können nicht gelöscht werden, wenn ihnen noch Beziehungen zugeordnet sind.

Wenn wir versuchen, die folgende Anweisung auszuführen:

MATCH (a:Artist {Name: "Strapping Young Lad"}) DELETE a

Wir erhalten die folgende Fehlermeldung:

Dies liegt daran, dass mit diesem Knoten eine Beziehung verbunden ist.

Eine Möglichkeit besteht darin, alle Beziehungen zu löschen und dann den Knoten zu löschen.

Eine weitere Option ist die Verwendung von DETACH DELETE Klausel. Der DETACH DELETE -Klausel können Sie einen Knoten und alle damit verbundenen Beziehungen löschen.

Wir können also die obige Anweisung wie folgt ändern:

MATCH (a:Artist {Name: "Strapping Young Lad"}) DETACH DELETE a

Das Ausführen dieser Anweisung führt zu der folgenden Erfolgsmeldung:

Löschen Sie die gesamte Datenbank

Sie können den DETACH DELETE nehmen einen Schritt weiter und lösche die gesamte Datenbank.

Entfernen Sie einfach alle Filterkriterien und es werden alle Knoten und alle Beziehungen gelöscht.

Fahren Sie fort und führen Sie die folgende Anweisung aus:

MATCH (n) DETACH DELETE n

Wir haben keine Daten mehr in der Datenbank ... also denke ich, das ist das Ende des Tutorials :)

Wenn Sie mehr über die Arbeit mit Neo4j erfahren möchten, sehen Sie sich die offizielle Neo4j-Dokumentation an.