2015-10-15 10 views
14

Was ist das Verhalten und der Zweck des neuen Cypher-Operators DETACH DELETE in Neo4j 2.3.x hinzugefügt?DETACH DELETE Neo4j 2.3.x/Cypher

+1

Wenn Sie hier von einer Suchmaschine kommen, um zu versuchen, den Unterschied zwischen 'detach' zu finden und' delete': 'detach' die Beziehungen eines Knotens entfernt . 'delete' löscht einen Knoten. Sie müssen einen Knoten "trennen", bevor Sie ihn "löschen", wenn er irgendwelche Beziehungen hat. – programmer5000

Antwort

19

Wenn Sie Knoten löschen möchten, müssen Sie auch die Beziehungen löschen. In früheren Versionen würden Sie tun müssen:

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

Jetzt können Sie einfach sagen:

MATCH (n) 
DETACH DELETE n 
7

ich nicht auf Brians Antwort kommentieren könnte so ist es hier:

Dieser Befehl:

MATCH n 
DETACH DELETE n 

Gibt den folgenden Fehler:

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

So um den richtigen Befehl:

MATCH (n) 
DETACH DELETE n