2015-10-15 15 views
14

Qual è il comportamento e lo scopo del nuovo operatore Cypher DETACH DELETE aggiunto in Neo4j 2.3.x?DETACH DELETE Neo4j 2.3.x/Cypher

+1

Se venite qui da un motore di ricerca per cercare di trovare la differenza tra '' detach' e delete': 'detach' rimuove le relazioni di un nodo . 'delete' cancella un nodo. Sarà necessario "staccare" un nodo prima di "cancellarlo" se ha delle relazioni. – programmer5000

risposta

19

Se si desidera eliminare i nodi, è necessario eliminare anche le relazioni. Nelle versioni precedenti si avrebbe bisogno di fare:

MATCH (n) 
OPTIONAL MATCH (n)-[r]-() 
DELETE n, r 

Ora si può semplicemente dire:

MATCH (n) 
DETACH DELETE n 
7

non ho potuto commentare la risposta di Brian ecco che è:

Questo comando:

MATCH n 
DETACH DELETE n 

Passa all'errore seguente:

WARNING: Parentheses are required to identify nodes in patterns, i.e. (n) (line 1, column 7 (offset: 6)) 
"MATCH n" 
    ^

Così il comando corretto è:

MATCH (n) 
DETACH DELETE n