sql >> Base de Datos >  >> RDS >> Mysql

Neo4j - Eliminar un nodo usando Cypher

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.