Home Up PDF Prof. Dr. Ingo Claßen
Neo4j

Einführung in Neo4j

Hauptmerkmale

  • Native Graph-Datenbank
  • Speichert Daten in Form von Knoten, Kanten und deren Eigenschaften
  • Optimiert für die Traversierung von Pfaden
  • Optimiert für Graphalgorithmen
  • On-Premise und als Cloud-Dienst verfügbar

Anwendungsbeispiele

  • Lieferketten
  • Materialflüsse
  • Soziale Netzwerke
  • Empfehlungssysteme
  • Betrugserkennung
  • Netzwerk- und IT-Management

Technologie

Implementierung

  • Implementierung in Java, läuft auf der Java Virtual Machine (JVM)
  • Datenspeicherung erfolgt in einem nativen Graphformat
  • Vermeidet dadurch Verbundoperationen
  • Unterstützung von Indizes für schnelle Suchen
  • Unterstützt ACID-Transaktionen für Zuverlässigkeit und Datenkonsistenz

Modellierungskonzepte

  • Knoten (Nodes): Repräsentieren Entitäten (z.B. Personen, Orte, Produkte)
  • Kanten (Relationships): Repräsentieren Verbindungen oder Beziehungen zwischen Knoten (z.B. „kennt“, „gekauft“)
  • Eigenschaften (Properties): Key-Value-Paare, die Details über Knoten und Kanten speichern

Abfragesprache Cypher

Überblick

  • Deklarative Abfragesprache für Neo4j
  • Ähnlich zu SQL, aber für Graphen optimiert
  • Pfadbasierte Datenabfrage

Beispiel

  MATCH (a:Person)-[:FREUND_VON]->(b:Person)
  WHERE a.name = 'Alice'
  RETURN b

Vorteile

  • Lesbar und intuitiv gestaltet
  • Pfadausdrücke / Pfadmuster