Saltar al contenido

¿Cuál es el script Cypher para eliminar un nodo por ID?

Solución:

Suponiendo que te refieres a la identificación del nodo interno de Neo4j:

MATCH (p:Person) where ID(p)=1
OPTIONAL MATCH (p)-[r]-() //drops p's relations
DELETE r,p

Si se refiere a su propia propiedad ‘id’ en el nodo:

 MATCH (p:Person {id:1})
 OPTIONAL MATCH (p)-[r]-() //drops p's relations
 DELETE r,p

El barrido más limpio para un nodo con id “x” es

COINCIDIR (n) donde id (n) = x
SEPARAR BORRAR n

https://neo4j.com/docs/cypher-manual/current/clauses/delete/#delete-delete-a-node-with-all-its-relationships

https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-id

Pregunta anterior y respondida, pero para eliminar el nodo cuando tiene relaciones, use DETACH

MATCH (n) where ID(n)=<your_id> 
DETACH DELETE n

o de lo contrario obtienes esto:

Neo.ClientError.Schema.ConstraintValidationFailed: Cannot delete node<21>, because it still has relationships. To delete this node, you must first delete its relationships.

Es como SQL CASCADE

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *