Pour supprimer des nœuds et des relations à l'aide de Cypher, utilisez le DELETE
clause.
Le DELETE
la clause est utilisée dans le MATCH
pour supprimer toutes les données correspondantes.
Ainsi, le DELETE
la clause est utilisée au même endroit où nous avons utilisé le RETURN
clause dans nos exemples précédents.
Exemple
L'instruction suivante supprime l'Album nœud appelé Killers :
MATCH (a:Album {Name: "Killers"}) DELETE a
C'est une bonne idée de vérifier que vous êtes sur le point de supprimer les bonnes données avant de les supprimer réellement.
Pour cela, construisez votre instruction avec un RETURN
clause d'abord, puis exécutez-le. Cela vous permet de vérifier si vous allez supprimer les bonnes données ou non. Une fois que vous êtes convaincu que vous faites correspondre les données correctes, changez simplement le RETURN
clause dans un DELETE
clause.
Supprimer plusieurs nœuds
Vous pouvez également supprimer plusieurs nœuds en une seule fois. Construisez simplement votre MATCH
pour inclure tous les nœuds que vous souhaitez supprimer.
MATCH (a:Artist {Name: "Iron Maiden"}), (b:Album {Name: "Powerslave"}) DELETE a, b
Supprimer tous les nœuds
Vous pouvez supprimer tous les nœuds de la base de données simplement en omettant tout critère de filtrage. Tout comme lorsque nous avons sélectionné tous les nœuds de la base de données, vous pouvez également les supprimer.
MATCH (n) DELETE n
Supprimer des nœuds avec des relations
Il y a un petit hic avec la suppression de nœuds. Et c'est-à-dire que vous ne pouvez supprimer des nœuds que s'ils n'ont aucune relation. En d'autres termes, vous devez supprimer toutes les relations avant de supprimer le nœud lui-même.
Si vous essayez d'exécuter le DELETE
ci-dessus sur les nœuds qui ont des relations, vous verrez un message d'erreur comme celui-ci :
Ce message d'erreur nous indique que nous devons supprimer toutes les relations avant de supprimer le nœud.
Heureusement, il existe un moyen simple et rapide de le faire. Nous en parlerons ensuite dans la suppression des relations.