Grunnleggende om Neo4j-grafdatabaser · leksjon

Kjøre GDS-algoritmer

Lær å kjøre ulike grafalgoritmer fra GDS-biblioteket, inkludert innlasting av grafer i minnet og konfigurering av algoritmer.

Leksjon 2 av 412 trinn

Kjøre GDS-algoritmer er en gratis leksjon i Grunnleggende om Neo4j-grafdatabaser på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende om Neo4j-grafdatabaser, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende om Neo4j-grafdatabaser inneholder totalt 4 leksjoner.

Arbeidsflyt for GDS-algoritmer

Graph Data Science (GDS)-biblioteket i Neo4j hjelper oss med å kjøre kraftige grafalgoritmer. Når du bruker GDS, følger du vanligvis en prosess i tre trinn:

  • Projiser: Last inn et utvalg av grafen i GDS sitt optimaliserte lager i minnet.
  • Kjør: Kjør en algoritme på denne grafen i minnet.
  • Skriv tilbake: Skriv eventuelt resultatene tilbake til Neo4j-databasen.

Projisere grafen din

Før du kjører en algoritme, må GDS vite hvilken del av databasegrafen som skal analyseres. Denne prosessen kalles grafprojeksjon.

Du definerer hvilke noder og relasjoner, basert på etikettene og typene deres, som skal kopieres til GDS sin raske representasjon i minnet. Dette gjør kjøringen av algoritmer mye raskere.

Projisere bare noder

La oss projisere en enkel graf som bare inneholder noder med etiketten Person. Vi gir den projiserte grafen et navn, for eksempel myGraph.

Prosedyren gds.graph.project oppretter denne grafen i minnet.

CALL gds.graph.project(
  'myGraph',
  'Person',
  {}
) YIELD graphName, nodeCount, relationshipCount;

Projisere noder og relasjoner

Vanligere er det å projisere både noder og relasjoner. Her projiserer vi Person-noder og KNOWS-relasjonene deres.

Vi angir nodeetiketten og relasjonstypen. Du kan også legge til egenskaper i projeksjonen.

CALL gds.graph.project(
  'socialGraph',
  'Person',
  'KNOWS'
) YIELD graphName, nodeCount, relationshipCount;

Kjøre GDS-algoritmer

Når grafen er projisert, kan du kjøre ulike algoritmer. GDS-algoritmer har ofte forskjellige kjøremoduser:

  • Stream: Returnerer resultater direkte som en strøm av rader. Passer godt for umiddelbar analyse.
  • Stats: Returnerer bare sammendragsstatistikk om kjøringen av algoritmen.
  • Write: Skriver resultatene tilbake til Neo4j-databasen som nye egenskaper eller relasjoner.

Eksempel på PageRank i Stream-modus

La oss kjøre PageRank-algoritmen på socialGraph i stream-modus. PageRank hjelper med å identifisere innflytelsesrike noder.

Vi bruker gds.pageRank.stream og sender inn navnet på den projiserte grafen.

CALL gds.pageRank.stream('socialGraph')
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).name AS person, score
ORDER BY score DESC
LIMIT 5;

Tilpasse algoritmeinnstillinger

GDS-algoritmer kan konfigureres i stor grad. Du kan sende inn et parameterkart for å finjustere virkemåten deres.

Vanlige parametere inkluderer maxIterations, dampingFactor (for PageRank) og concurrency. Sjekk alltid GDS-dokumentasjonen for parametere som gjelder for den aktuelle algoritmen.

PageRank med egendefinerte innstillinger

Her kjører vi PageRank med en egendefinert dampingFactor og begrenser maxIterations. Dette gir deg bedre kontroll over kjøringen og konvergensen til algoritmen.

CALL gds.pageRank.stream(
  'socialGraph',
  {
    maxIterations: 10,
    dampingFactor: 0.8
  }
)
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).name AS person, score
ORDER BY score DESC
LIMIT 5;

Lagre algoritmeresultater

Ofte ønsker du å lagre resultatene fra en algoritme tilbake i Neo4j-databasen. Da kan du spørre etter dem senere eller bruke dem i videre analyser.

Write-modusen for GDS-algoritmer legger til nye egenskaper på noder eller oppretter nye relasjoner basert på resultatet fra algoritmen.

Skrive PageRank-poengsummer

For å skrive resultater bruker du prosedyren .write, for eksempel gds.pageRank.write. Du må angi navnet på egenskapen der poengsummen skal lagres på de opprinnelige nodene.

Etter at dette er kjørt, har hver Person-node i databasen en ny egenskap, pageRankScore.

CALL gds.pageRank.write(
  'socialGraph',
  {
    writeProperty: 'pageRankScore'
  }
)
YIELD nodeCount, ranIterations, didConverge;

Kontroll av GDS-arbeidsflyt

Hvilke av følgende er viktige trinn i den typiske arbeidsflyten for GDS-algoritmer?

Oppsummering av kjøring av GDS-algoritmer

Godt jobbet! Du har lært de viktigste trinnene for å kjøre GDS-algoritmer:

  • Projisere grafen til GDS-minnet ved hjelp av gds.graph.project.
  • Kjøre algoritmer i modusene stream, stats eller write.
  • Konfigurere algoritmer med egendefinerte parametere.
  • Skrive tilbake resultater til Neo4j-databasen for varig lagring.

Deretter skal du utforske avanserte GDS-pipelines og integrasjon med maskinlæring!

Gratis å komme i gang

Lær deg Grunnleggende om Neo4j-grafdatabaser med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Kjøre GDS-algoritmer» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende om Neo4j-grafdatabaser, inkludert «Kjøre GDS-algoritmer», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Grunnleggende om Neo4j-grafdatabaser inneholder totalt 4 leksjoner.

Hva lærer jeg i «Kjøre GDS-algoritmer»?

Lær å kjøre ulike grafalgoritmer fra GDS-biblioteket, inkludert innlasting av grafer i minnet og konfigurering av algoritmer. Du øver på Grunnleggende om Neo4j-grafdatabaser med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Grunnleggende om Neo4j-grafdatabaser?

Ingen tidligere erfaring er nødvendig. Grunnleggende om Neo4j-grafdatabaser på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Kjøre GDS-algoritmer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Grunnleggende om Neo4j-grafdatabaser-leksjonen?

Ja. Alle Grunnleggende om Neo4j-grafdatabaser-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til GDS-biblioteket
  2. Kjøre GDS-algoritmer
  3. GDS-pipelines og maskinlæring
  4. Grafinnbakinger med GDS
← Tilbake til Grunnleggende om Neo4j-grafdatabaser