Mysql
 sql >> Database >  >> RDS >> Mysql

Neo4j - Elimina una relazione usando Cypher

Puoi eliminare le relazioni nello stesso modo in cui elimini i nodi, facendo corrispondere le relazioni che desideri eliminare.

Puoi eliminare una o più relazioni in una volta sola. Puoi persino eliminare tutte le relazioni nel database.

Innanzitutto, per rinfrescare la memoria, ecco le relazioni che abbiamo creato in precedenza:

Eliminiamo la relazione di tipo RILASCIATO .

Ci sono diversi modi in cui potremmo farlo. Diamo un'occhiata a tre.

La seguente istruzione è piuttosto ampia:eliminerà tutte le relazioni di tipo RILASCIATO :

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

Potresti anche essere più specifico e scrivere qualcosa del genere:

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

La dichiarazione di cui sopra corrisponderà a tutti gli Artisti nodi che hanno un tipo di relazione RILASCIATO con un Album nodo.

Potresti essere ancora più specifico e fare qualcosa del genere:

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

Ognuna di queste affermazioni risulterà nel RILASCIATO relazione che viene cancellata. Il grafico sarà simile a questo:

Eliminazione di nodi con relazioni allegate

I nodi non possono essere eliminati se hanno ancora relazioni collegate.

Se proviamo a eseguire la seguente istruzione:

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

Otterremo il seguente errore:

Questo perché quel nodo ha una relazione connessa.

Un'opzione consiste nell'eliminare tutte le relazioni, quindi eliminare il nodo.

Un'altra opzione è usare DETACH DELETE clausola. Il DETACH DELETE La clausola consente di eliminare un nodo e tutte le relazioni ad esso connesse.

Quindi possiamo cambiare la dichiarazione di cui sopra in questo:

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

L'esecuzione di tale istruzione risulterà nel seguente messaggio di successo:

Elimina l'intero database

Puoi prendere il DETACH DELETE un passo avanti ed elimina l'intero database.

Rimuovi semplicemente qualsiasi criterio di filtro e cancellerà tutti i nodi e tutte le relazioni.

Vai avanti ed esegui la seguente istruzione:

MATCH (n) DETACH DELETE n

Non abbiamo più dati nel database... quindi immagino che sia la fine del tutorial :)

Se sei interessato a saperne di più su come lavorare con Neo4j, controlla la documentazione ufficiale di Neo4j.