Uppdatera och ta bort grafdata
Lär er ändra befintliga noder och relationer med SET och REMOVE samt ta bort data säkert med DELETE och DETACH DELETE.
Uppdatera och ta bort grafdata är en gratis lektion i Grunderna i Neo4j-grafdatabaser på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Grunderna i Neo4j-grafdatabaser, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Neo4j-grafdatabaser innehåller totalt 4 lektioner.
Ändra Era grafdata
I den här lektionen lär Ni Er att uppdatera och ta bort befintliga noder och relationer i Er Neo4j-graf med Cypher. Att ändra data är avgörande för att hålla grafen korrekt och uppdaterad.
Vi går igenom de viktigaste satserna: SET för att ändra egenskaper, REMOVE för att ta bort egenskaper eller etiketter och DELETE / DETACH DELETE för att ta bort grafens element helt.
Uppdatera nodegenskaper med SET
Satsen SET används för att ändra befintliga egenskaper hos noder eller relationer eller för att lägga till nya. Vi börjar med att uppdatera en egenskap hos en nod.
I det här exemplet skapas först en 'Person'-nod, varefter dess ålder uppdateras.
CREATE (p:Person {name: 'Alice', age: 30})
RETURN p
MATCH (p:Person {name: 'Alice'})
SET p.age = 31
RETURN p.name, p.ageUppdatera relationsegenskaper
Precis som noder kan relationer också ha egenskaper. Ni kan använda SET för att uppdatera även dessa egenskaper. Först skapar vi en relation och uppdaterar sedan en av dess egenskaper.
CREATE (p1:Person {name: 'Bob'})-[:KNOWS {since: 2019}]->(p2:Person {name: 'Charlie'})
RETURN p1, p2
MATCH (p1:Person {name: 'Bob'})-[r:KNOWS]->(p2:Person {name: 'Charlie'})
SET r.since = 2020, r.status = 'Good Friends'
RETURN r.since, r.statusLägg till nya egenskaper med SET
Om Ni använder SET med ett egenskapsnamn som inte finns på en nod eller relation lägger Cypher helt enkelt till den nya egenskapen. Det är ett smidigt sätt att utöka Er datamodell direkt.
MATCH (p:Person {name: 'Alice'})
SET p.city = 'New York', p.occupation = 'Engineer'
RETURN p.name, p.city, p.occupationTa bort egenskaper med REMOVE
Ibland behöver Ni ta bort en egenskap helt. Satsen REMOVE är avsedd för detta. Den kan ta bort en eller flera egenskaper från en nod eller relation.
Kom ihåg att REMOVE används för egenskaper och etiketter, inte för att ta bort hela noder eller relationer.
MATCH (p:Person {name: 'Alice'})
REMOVE p.occupation
RETURN p.name, p.age, p.city, p.occupationTa bort etiketter från noder
Satsen REMOVE används inte bara för egenskaper; Ni kan också använda den för att ta bort etiketter från en nod. Det kan ändra nodens typ eller klassificering i grafen.
När etiketten 'Person' har tagits bort finns noden fortfarande kvar, men är nu en generell nod utan den specifika typen.
MATCH (p:Person {name: 'Alice'})
REMOVE p:Person
RETURN p, labels(p)Ta bort relationer med DELETE
För att ta bort en relation använder Ni satsen DELETE. Först måste Ni MATCHa den relation som ska tas bort och sedan skicka dess variabel till DELETE.
Obs! DELETE kan endast ta bort relationer eller noder som inte har några relationer.
CREATE (a:User {id: 1})-[:LIKES]->(b:Product {id: 10})
RETURN a, b
MATCH (a:User {id: 1})-[r:LIKES]->(b:Product {id: 10})
DELETE r
RETURN a, bTa bort noder med DETACH DELETE
Vad gör Ni om Ni vill ta bort en nod som har kopplade relationer? En enkel DELETE fungerar inte och ger ett fel.
Lösningen är DETACH DELETE. Denna kraftfulla sats tar bort noden och alla dess inkommande och utgående relationer på en gång.
CREATE (u:User {name: 'David'})-[:FOLLOWS]->(o:User {name: 'Eve'})
RETURN u, o
MATCH (u:User {name: 'David'})
DETACH DELETE u
RETURN uBästa praxis vid borttagning
Att ta bort data är permanent! Var alltid försiktig:
- Testa först: Kör Er
MATCH-sats medRETURNför att säkerställa att Ni väljer rätt element innan Ni lägger tillDELETEellerDETACH DELETE. - Säkerhetskopiera: Se till att Ni har säkerhetskopior av kritiska data.
- Var medveten om transaktioner: I applikationer ingår borttagningar ofta i större transaktioner.
Utmaning: ta bort data
Ni har en (:Movie {title: 'Inception'})-nod som är ansluten till många (:Actor)-noder via [:ACTED_IN]-relationer. Ni vill ta bort filmnoden 'Inception' och alla dess anslutningar.
Sammanfattning av lektionen
Bra jobbat! Ni behärskar nu de viktigaste Cypher-satserna för att ändra och ta bort grafdata:
SET: Uppdaterar befintliga egenskaper eller lägger till nya hos noder och relationer.REMOVE: Tar bort specifika egenskaper eller etiketter från noder och relationer.DELETE: Tar bort relationer eller noder som inte har några anslutningar.DETACH DELETE: Det säkraste sättet att ta bort en nod och alla dess associerade relationer på en gång.
Var alltid försiktig när Ni tar bort data och kontrollera Era MATCH-mönster först!
Lär dig Grunderna i Neo4j-grafdatabaser med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Uppdatera och ta bort grafdata” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Neo4j-grafdatabaser, inklusive ”Uppdatera och ta bort grafdata”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Grunderna i Neo4j-grafdatabaser innehåller totalt 4 lektioner.
Vad lär jag mig i ”Uppdatera och ta bort grafdata”?
Lär er ändra befintliga noder och relationer med SET och REMOVE samt ta bort data säkert med DELETE och DETACH DELETE. Ni övar på Grunderna i Neo4j-grafdatabaser med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Grunderna i Neo4j-grafdatabaser?
Du behöver inga förkunskaper. Utbildningen i Grunderna i Neo4j-grafdatabaser på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Uppdatera och ta bort grafdata”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Grunderna i Neo4j-grafdatabaser-lektionen?
Ja. Varje Grunderna i Neo4j-grafdatabaser-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Filtrera och sortera resultat
- Aggregering och projektioner
- Uppdatera och ta bort grafdata
- Kombinera frågor med WITH och UNION