For at slette noder og relationer ved hjælp af Cypher, brug DELETE
klausul.
DELETE
klausul bruges i MATCH
erklæring for at slette de data, der blev matchet.
Så DELETE
klausulen bruges samme sted, som vi brugte RETURN
klausul i vores tidligere eksempler.
Eksempel
Følgende erklæring sletter albummet node kaldet Killers :
MATCH (a:Album {Name: "Killers"}) DELETE a
Det er en god idé at kontrollere, at du er ved at slette de rigtige data, før du rent faktisk sletter dem.
For at gøre dette skal du konstruere din erklæring med en RETURN
klausul først, og kør den derefter. Dette giver dig mulighed for at kontrollere, om du vil slette de korrekte data eller ej. Når du er sikker på, at du matcher de korrekte data, skal du blot skifte RETURN
klausul ind i en DELETE
klausul.
Sletning af flere noder
Du kan også slette flere noder på én gang. Du skal blot konstruere din MATCH
sætning for at inkludere alle noder, du gerne vil slette.
MATCH (a:Artist {Name: "Iron Maiden"}), (b:Album {Name: "Powerslave"}) DELETE a, b
Sletning af alle noder
Du kan slette alle noder fra databasen ved blot at udelade eventuelle filtreringskriterier. Ligesom da vi valgte alle noder fra databasen, kan du også slette dem.
MATCH (n) DELETE n
Sletning af noder med relationer
Der er en lille hak med at slette noder. Og det vil sige, at du kun kan slette noder, hvis de ikke har nogen relationer. Du skal med andre ord slette eventuelle relationer, før du sletter selve noden.
Hvis du prøver at udføre ovenstående DELETE
sætning på noder, der har relationer, vil du se en fejlmeddelelse som denne:
Denne fejlmeddelelse fortæller os, at vi skal slette eventuelle relationer, før vi sletter noden.
Heldigvis er der en hurtig og nem måde at gøre det på. Vi vil dække det næste i sletning af relationer.