Matcha mönster med Cypher MATCH
Lär er behärska satsen MATCH för att hitta specifika mönster av noder och relationer i era grafdata.
Matcha mönster med Cypher MATCH ä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.
Upptäck data med MATCH
Välkommen till kärnan i grafbaserad sökning! Satsen MATCH i Cypher används för att hitta specifika datamönster i er Neo4j-graf.
Tänk på det som att rita formen på de data ni vill hitta. Ni beskriver noder, relationer och deras egenskaper, och Neo4j hittar alla instanser som stämmer med beskrivningen.
Hitta valfri nod
Den enklaste MATCH-frågan hittar en valfri nod i grafen. Ni representerar en nod med parenteser ().
Om ni lägger till en variabel inuti, till exempel (n), kan ni hänvisa till noden senare, exempelvis för att returnera dess egenskaper. Vi använder LIMIT för att bara visa några få resultat.
MATCH (n)
RETURN n LIMIT 3Matcha noder efter etikett
Grafer har ofta olika typer av noder. I Cypher kallas dessa typer för etiketter. Ni kan ange en etikett för att endast hitta noder av en viss typ.
Etiketter placeras efter nodvariabeln och separeras med ett kolon: (variable:Label).
MATCH (p:Person)
RETURN p.name LIMIT 3Matcha noder efter egenskap
Noder har också egenskaper, det vill säga nyckel-värde-par som beskriver dem. Ni kan filtrera noder baserat på dessa egenskaper direkt i satsen MATCH.
Egenskaper placeras inom klammerparenteser {} efter etiketten (eller variabeln om ingen etikett finns): (node:Label {key: 'value'}).
MATCH (m:Movie {title: 'The Matrix'})
RETURN m.releaseYearIntroduktion till relationer
Relationer definierar hur noder är sammankopplade. I MATCH representerar ni en relation med streck och vinkelparenteser: -- för oriktad, --> för riktad och <-- för omvänt riktad.
Ni kan också tilldela relationen en variabel, till exempel -[r]-, för att arbeta med den.
MATCH (a)-[r]->(b)
RETURN a.name, TYPE(r), b.title LIMIT 3Matcha relationer efter typ
Precis som noder har etiketter har relationer typer. Om ni anger en relationstyp kan ni hitta specifika slags kopplingar mellan noder.
Typen placeras efter relationsvariabeln och separeras med ett kolon: -[r:TYPE]->.
MATCH (p:Person)-[:ACTED_IN]->(m:Movie)
RETURN p.name, m.title LIMIT 3Matcha med riktning
Relationer är riktade! Pilarna i ert MATCH-mönster visar riktningen. Om ni utelämnar pilar (t.ex. (a)-[r]-(b)) blir matchningen oriktad, vilket hittar kopplingar oavsett deras lagrade riktning.
Det är i allmänhet bäst att ange riktningen när ni känner till den.
MATCH (director:Person)<-[:DIRECTED]-(movie:Movie)
RETURN director.name, movie.title LIMIT 3Kombinera nod- och relationsmönster
Den verkliga styrkan hos MATCH kommer från att kombinera noder och relationer för att beskriva komplexa mönster i grafen. Ni kan kedja samman flera noder och relationer.
Det gör att ni kan hitta vägar, kopplingar via mellanliggande noder och mycket mer.
MATCH (p:Person {name: 'Tom Hanks'})-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person)
RETURN p.name, m.title, d.nameHitta valfria kopplingar
Ibland kanske en del av ert mönster inte alltid finns. OPTIONAL MATCH försöker hitta mönstret, men om det inte lyckas blir de delar som inte matchar null i stället för att hela frågan misslyckas.
Det är användbart när ni vill se befintliga kopplingar och samtidigt returnera huvudnoden även om en viss koppling saknas.
MATCH (p:Person {name: 'Keanu Reeves'})
OPTIONAL MATCH (p)-[r]->(m:Movie)
RETURN p.name, TYPE(r), m.titleUtmaning med MATCH-satsen
Vilken Cypher-sats med MATCH hittar korrekt alla filmer regisserade av ”Quentin Tarantino”?
Sammanfattning: bemästra MATCH
Bra jobbat! Ni har lärt er den grundläggande färdigheten att hitta mönster i grafen med satsen MATCH.
- Använd
()för noder och--för relationer. - Ange etiketter (
:Label) för nodtyper och typer (:TYPE) för relationer. - Filtrera efter egenskaper med
{}. - Pilar (
-->,<--) definierar relationens riktning. OPTIONAL MATCHhjälper er att hitta mönster som kanske inte alltid finns, utan att frågan avbryts.
Härnäst utforskar vi hur ni kan förfina era matchade data med WHERE och ORDER BY!
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 ”Matcha mönster med Cypher MATCH” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Neo4j-grafdatabaser, inklusive ”Matcha mönster med Cypher MATCH”, 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 ”Matcha mönster med Cypher MATCH”?
Lär er behärska satsen MATCH för att hitta specifika mönster av noder och relationer i era grafdata. 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 ”Matcha mönster med Cypher MATCH”?
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
- Noder, relationer och egenskaper
- Skapa data med Cypher CREATE
- Matcha mönster med Cypher MATCH
- Returnera och forma resultat med RETURN