Para eliminar nodos y relaciones usando Cypher, use DELETE
cláusula.
El DELETE
la cláusula se usa dentro del MATCH
declaración para eliminar cualquier dato que coincida.
Entonces, DELETE
La cláusula se usa en el mismo lugar que usamos RETURN
cláusula en nuestros ejemplos anteriores.
Ejemplo
La siguiente declaración elimina el Álbum nodo llamado Killers :
MATCH (a:Album {Name: "Killers"}) DELETE a
Es una buena idea comprobar que está a punto de eliminar los datos correctos antes de eliminarlos.
Para hacer esto, construya su declaración con RETURN
cláusula primero, y luego ejecútela. Esto le permite verificar si va a eliminar los datos correctos o no. Una vez que esté satisfecho de que está haciendo coincidir los datos correctos, simplemente cambie el RETURN
cláusula en un DELETE
cláusula.
Eliminación de múltiples nodos
También puede eliminar varios nodos de una sola vez. Simplemente construya su MATCH
instrucción para incluir todos los nodos que desea eliminar.
MATCH (a:Artist {Name: "Iron Maiden"}), (b:Album {Name: "Powerslave"}) DELETE a, b
Eliminación de todos los nodos
Puede eliminar todos los nodos de la base de datos simplemente omitiendo cualquier criterio de filtrado. Al igual que cuando seleccionamos todos los nodos de la base de datos, también puede eliminarlos.
MATCH (n) DELETE n
Eliminación de nodos con relaciones
Hay un pequeño problema con la eliminación de nodos. Y eso es, solo puede eliminar nodos si no tienen ninguna relación. En otras palabras, debe eliminar cualquier relación antes de eliminar el nodo en sí.
Si intenta ejecutar el DELETE
anterior declaración sobre los nodos que tienen relaciones, verá un mensaje de error como este:

Este mensaje de error nos dice que tenemos que eliminar cualquier relación antes de eliminar el nodo.
Afortunadamente, hay una manera rápida y fácil de hacerlo. Lo cubriremos a continuación en la eliminación de relaciones.