Mysql
 sql >> Base de données >  >> RDS >> Mysql

Neo4j - Supprimer une relation à l'aide de Cypher

Vous pouvez supprimer des relations de la même manière que vous supprimez des nœuds - en faisant correspondre la ou les relations que vous souhaitez supprimer.

Vous pouvez supprimer une ou plusieurs relations en une seule fois. Vous pouvez même supprimer toutes les relations de la base de données.

Tout d'abord, pour vous rafraîchir la mémoire, voici les relations que nous avons créées précédemment :

Supprimons la relation de type RELEASED .

Il y a plusieurs façons de procéder. Regardons-en trois.

L'instruction suivante est assez large — elle supprimera toutes les relations de type RELEASED :

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

Vous pouvez également être plus précis et écrire quelque chose comme ceci :

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

La déclaration ci-dessus correspondra à tous les artistes nœuds dont le type de relation est RELEASED avec un Album nœud.

Vous pourriez être encore plus précis et faire quelque chose comme ceci :

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

Chacune de ces déclarations entraînera le RELEASED relation en cours de suppression. Le graphique ressemblera à ceci :

Supprimer des nœuds avec des relations attachées

Les nœuds ne peuvent pas être supprimés s'ils ont encore des relations qui leur sont attachées.

Si nous essayons d'exécuter l'instruction suivante :

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

Nous aurons l'erreur suivante :

C'est parce que ce nœud a une relation connectée.

Une option consiste à supprimer toutes les relations, puis à supprimer le nœud.

Une autre option consiste à utiliser le DETACH DELETE clause. Le DETACH DELETE La clause vous permet de supprimer un nœud et toutes les relations qui y sont connectées.

Nous pouvons donc remplacer la déclaration ci-dessus par ceci :

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

L'exécution de cette instruction entraînera le message de réussite suivant :

Supprimer toute la base de données

Vous pouvez prendre le DETACH DELETE aller plus loin et supprimer toute la base de données.

Supprimez simplement tous les critères de filtrage et tous les nœuds et toutes les relations seront supprimés.

Allez-y et exécutez l'instruction suivante :

MATCH (n) DETACH DELETE n

Nous n'avons plus de données dans la base de données... donc je suppose que c'est la fin du tutoriel :)

Si vous souhaitez en savoir plus sur l'utilisation de Neo4j, consultez la documentation officielle de Neo4j.