2014-01-06 10 views
5

Ich habe einige Knoten und Beziehungen innerhalb dieser erstellt. Aber dabei ist etwas falsches passiert. Ich möchte alle Knoten löschen „SGS“, außer Knoten mit der ID mit 2.Wie DELETE Knoten oder Beziehung mit NULL-Eigenschaften in Neo4j 2.0 mit Chiffre

Es folgt Skript Ich lief Knoten und Beziehungen zu erstellen:

(Bitte auch vorschlagen, wie diese zu bearbeiten, sofern möglich)

Ich versuchte DELETE (zusammen mit übereinstimmen, wo, IS NULL, etc.) mit einigen verschiedenen Versuchs- und Fehlermethoden, aber nicht in der Lage, dasselbe zu erreichen. Bitte Hilfe.

+0

Hallo, da dies meine erste Frage auf SE war, könnte man es chaotisch gefunden. Ich bitte dich, mich diesmal zu entblößen. – ShreyansS

+0

In Bezug auf Ihre Abfrage haben Sie eine '
' dort in Zeile 15. –

Antwort

7

Es sieht so aus, als hätten alle Ihre Knoten einen Namen, mit Ausnahme des Knotens, den Sie löschen möchten. So können Sie versuchen,

match n 
WHERE NOT (HAS (n.name)) //find all nodes with no name property 
with n 
match n-[r]-() //find all nodes connected to that node 
delete r,n //delete its relations and then the node itself 

(Note nicht getestet)

Sieht aus wie in Ihrem erstellen Aussage oben, Sie verwenden (RKN) anstelle von (rk) und wahrscheinlich auch (answ) anstelle von etwas haben sonst. Also (rkn) - [: READ] -> (bk1) erstellt nur einen Knoten ohne Eigenschaften, um rkn und eine READ-Beziehung zu OneNight @ CallCenter darzustellen. Sie müssen nur diese überprüfen und beheben.

z.B. Die Beziehungen beziehen sich alle auf einen Knoten namens (rkn), also habe ich den rk-Knoten in Ihrer create-Anweisung in rkn umbenannt. Stellen Sie außerdem sicher, dass jeder Knoten, auf den Sie in Ihren Beziehungen verweisen, tatsächlich einem Knoten in Ihrer create-Anweisung zugeordnet ist.

NOTE: HAS is no longer supported in Cypher, please use EXISTS instead!

+0

Danke Luanne, es hat funktioniert. Ich habe gerade begonnen, an dieser Technologie vor 3 Tagen zu arbeiten, also war mir nicht bewusst, "WITH/HAS" etc. Ist es möglich, zu antworten, wie man das selbe bearbeitet (was ich während der Kreation falsch verstanden habe)? – ShreyansS

+0

Bearbeitet, bitte überprüfen Sie – Luanne

+0

Ich versuchte mit diesem früh (wie ich bewusst über die Verwendung von UNIQUE), aber bekam (und immer noch) gleiche Fehler: Dieses Muster wird nicht für CREATE UNIQUE unterstützt. – ShreyansS

0

Dieser arbeitete für mich

match (n) WHERE NOT (EXISTS (n.name)) DETACH DELETE n 
Verwandte Themen