Zum Inhalt

Neo4j

Grundlagen und einfache Erklärungen zu Neo4j und Graph-Datenbanken

Was ist eine Graph-Datenbank?

Eine Graph-Datenbank speichert Daten in Form von Knoten und Beziehungen. - Knoten (Nodes): Stellen Objekte dar, wie z. B. Personen, Filme, Orte. - Beziehungen (Relationships): Verknüpfen Knoten miteinander, z. B. "kennt", "mag", "arbeitet für". - Eigenschaften (Properties): Speichern zusätzliche Informationen, z. B. Name, Alter, Titel. - Labels: Beschreiben Kategorien von Knoten, z. B. :User, :Movie.

Wie funktioniert Neo4j?

  • Daten werden mit einer speziellen Sprache namens Cypher hinzugefügt, abgefragt und verändert.
  • Abfragen werden ähnlich wie SQL geschrieben, aber für Graphen optimiert.

Wichtige Grundlagen-Befehle in Cypher

1. Knoten erstellen

CREATE (a:User {name: 'Alice', age: 30})
- CREATE erstellt einen neuen Knoten. - :User ist das Label (Kategorie). - {name: 'Alice', age: 30} sind die Eigenschaften.

2. Beziehung erstellen

CREATE (a:User {name: 'Alice'})-[:KNOWS]->(b:User {name: 'Bob'})
- -[:KNOWS]-> erstellt eine Beziehung vom Typ KNOWS zwischen zwei Knoten.

3. Daten abrufen

  • Alle Knoten eines Labels anzeigen:
    MATCH (u:User) RETURN u
    
  • Knoten mit Beziehungen abrufen:
    MATCH (a:User)-[r:KNOWS]->(b:User) RETURN a, r, b
    

Antworten zu den gestellten Fragen

1. Welche Informationen benötigt man für ein Diagramm?

  • Knoten (z. B. Personen, Filme).
  • Beziehungen (z. B. "kennt", "mag").
  • Eigenschaften (z. B. Name, Alter).
  • Labels (z. B. :User, :Movie).

2. Braucht man einen Diagrammdatensatz für den Start?

Nein, Sie können die Daten selbst mit CREATE erstellen.

3. Richtig oder falsch:

  • A. Neo4j kann nur mit Neo4j Desktop gestartet werden.
    Falsch: Es gibt auch Neo4j Aura (Cloud) oder Neo4j Sandbox.
  • B. Die Anwendung zum Erstellen von Dashboards ist Neo4j Browser.
    Richtig: Neo4j Browser ist das Haupttool zur Abfrage und Visualisierung.
  • C. Graph Data Science wird standardmäßig unterstützt.
    Richtig: Es ist eine offizielle Funktion von Neo4j.

4. Cypher-Syntax analysieren:

  • A. MATCH (x:User) RETURN x.name
    Gültig. Zeigt die name-Eigenschaft von User-Knoten.
  • B. MATCH (x:User) RETURN x
    Gültig. Gibt alle Informationen über User-Knoten zurück.
  • C. MATCH (:User) RETURN x.name
    Ungültig. x ist nicht definiert.
  • D. MATCH (x:User)-[k:KNOWS]->(y:User) RETURN x, k, y
    Gültig. Zeigt alle KNOWS-Beziehungen zwischen User-Knoten.
  • E. MATCH (x:User)-[:KNOWS]-(y) RETURN x, y
    Gültig. Sucht KNOWS-Beziehungen in beide Richtungen.

Praxis: Daten erstellen und abfragen

Daten erstellen

// Personen und Filme erstellen
CREATE (a:User {name: 'Alice', age: 30})
CREATE (b:User {name: 'Bob', age: 25})
CREATE (c:Movie {title: 'Inception', year: 2010})

// Beziehungen hinzufügen
CREATE (a)-[:KNOWS]->(b)
CREATE (a)-[:LIKES]->(c)
CREATE (b)-[:LIKES]->(c)

Daten abfragen

// Alle Benutzer anzeigen
MATCH (u:User) RETURN u

// Benutzer und Beziehungen anzeigen
MATCH (a:User)-[r]->(b) RETURN a, r, b

// Benutzer, die denselben Film mögen
MATCH (a:User)-[:LIKES]->(m:Movie)<-[:LIKES]-(b:User)
RETURN a.name, b.name, m.title

Mit diesen Grundlagen können Sie eine eigene Datenbank aufbauen und verstehen, wie Neo4j funktioniert!