Aby usunąć węzły i relacje za pomocą Cypher, użyj DELETE
klauzula.
DELETE
klauzula jest używana w MATCH
oświadczenie, aby usunąć wszelkie dopasowane dane.
Tak więc DELETE
klauzula jest używana w tym samym miejscu, w którym użyliśmy RETURN
w naszych poprzednich przykładach.
Przykład
Poniższe oświadczenie usuwa Album węzeł o nazwie Zabójcy :
MATCH (a:Album {Name: "Killers"}) DELETE a
Dobrym pomysłem jest sprawdzenie, czy zamierzasz usunąć właściwe dane, zanim faktycznie je usuniesz.
Aby to zrobić, skonstruuj swoją instrukcję za pomocą RETURN
najpierw klauzulę, a następnie ją uruchom. Dzięki temu możesz sprawdzić, czy zamierzasz usunąć prawidłowe dane, czy nie. Po upewnieniu się, że pasujesz do poprawnych danych, po prostu przełącz RETURN
klauzulę w DELETE
klauzula.
Usuwanie wielu węzłów
Możesz także usunąć wiele węzłów za jednym razem. Po prostu skonstruuj swój MATCH
oświadczenie zawierające wszystkie węzły, które chcesz usunąć.
MATCH (a:Artist {Name: "Iron Maiden"}), (b:Album {Name: "Powerslave"}) DELETE a, b
Usuwanie wszystkich węzłów
Możesz usunąć wszystkie węzły z bazy danych, po prostu pomijając dowolne kryteria filtrowania. Tak jak wtedy, gdy wybraliśmy wszystkie węzły z bazy danych, możesz je również usunąć.
MATCH (n) DELETE n
Usuwanie węzłów z relacjami
Jest jeden mały haczyk z usuwaniem węzłów. Oznacza to, że możesz usuwać tylko węzły, które nie mają żadnych relacji. Innymi słowy, musisz usunąć wszelkie relacje, zanim usuniesz sam węzeł.
Jeśli spróbujesz wykonać powyższe DELETE
na węzłach, które mają relacje, zobaczysz komunikat o błędzie podobny do tego:
Ten komunikat o błędzie mówi nam, że musimy usunąć wszelkie relacje, zanim usuniemy węzeł.
Na szczęście jest na to szybki i łatwy sposób. Omówimy to w następnej kolejności, usuwając relacje.