web-dev-qa-db-fra.com

Quel est le script Cypher pour supprimer un noeud par ID?

En SQL: 

Delete From Person Where ID = 1;

Dans Cypher, quel est le script pour supprimer un nœud par ID? 

(Édité: ID = ID de nœud interne de Neo4j)

22
Rm558

En supposant que vous vous référiez à l'ID de nœud interne de Neo4j:

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

Si vous faites référence à votre propre propriété 'id' sur le nœud:

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

Le balayage le plus propre pour un noeud avec l'id "xx" est

MATCH (n) où id (n) = xx DETACH DELETE n

( https://neo4j.com/docs/developer-manual/current/cypher/#delete-delete-all-nodes-and-relationship )

17
Saad Khan

Lorsque le nœud est orphelin. 

Start n=node(1)
Delete n;
2
Rm558

En suivant le lien fourni par @ saad-khan, voici un exemple pour obtenir les identifiants de nœuds et de relations . Le code ci-dessous montre les identifiants, ce qui vous permet de vous assurer que vous supprimez tout ce qui se rapporte à cet identifiant.

MATCH (node)-[relation:HAS]->(value) where ID(node)=1234 RETURN ID(instance), ID(value), ID(r)

Ps .: ": HAS" est un exemple de relation.

0
arturvt