Vad är en grafdatabas?

NoSQL-koncept

Miriam Antona

Software engineer

Grafdatabaser – översikt

  • Behandlar data och dess relationer med samma vikt
  • Bygger på grafteori
    • en gren inom matematiken
    • studerar grafer för att modellera relationer mellan objekt
NoSQL-koncept

Grafdatabaser – delar av en graf

  • Hörn/noder
  • Kanter

Bild av en graf med två noder.

NoSQL-koncept

Grafdatabaser – delar av en graf

  • Hörn/noder
  • Kanter/länkar/bågar

Bild av en graf med två noder förbundna av en kant.

NoSQL-koncept

Grafdatabaser – noder

  • Representerar entiteter (användare, städer, flygplatser, anställda ...)
  • Har egenskaper

Noder med användare.

NoSQL-koncept

Grafdatabaser – noder

  • Representerar entiteter (användare, städer, flygplatser, anställda ...)
  • Har egenskaper

Noder med användare och deras egenskaper.

NoSQL-koncept

Grafdatabaser – kanter

  • Kopplar samman noderna
  • Definierar relationerna mellan noderna

Noder förbundna av kanter.

NoSQL-koncept

Grafdatabaser – kanter

  • Kopplar samman noderna
  • Definierar relationerna mellan noderna

Noder förbundna av kanter med kanternas relationer.

NoSQL-koncept

Grafdatabaser – kanter

  • Kopplar samman noderna
  • Definierar relationerna mellan noderna

Noder förbundna av kanter, med kanternas relationer och egenskaper.

NoSQL-koncept

Grafdatabaser – typer av kanter

  • Riktad:
    • Specifik riktning

Bild av en riktad graf.

NoSQL-koncept

Grafdatabaser – typer av kanter

  • Oriktad:
    • Ingen riktning
    • Relationen är ömsesidig

Bild av en oriktad graf.

NoSQL-koncept

Grafdatabaser – frågor

  • Traversering av grafen
  • Exempel:
    • Hämta alla användare som Ben följer
    • Hämta när Carol började följa Shui
    • Hitta kortaste vägen mellan två städer
  • Stig: en mängd noder och kanter genom en graf
  • Frågespråk: Cypher, Gremlin m.fl.
NoSQL-koncept

Populära grafdatabaser

Logotyper för några populära grafdatabaser

NoSQL-koncept

Nu kör vi en övning!

NoSQL-koncept

Preparing Video For Download...