Graphendatenbank GUIDE Neo4j Tutorial + Definition erklärt

Das ist das Ultimative Graphendatenbank-Tutorial für Neo4j + Praxis.

Lernen alles über Graphen und ihre Möglichkeiten.

Starten wir!

Neo4j Tutorial – Inhalt – 6 Schritte zur eigenen Graphendatenbank

Herausforderung

Coding und Umsetzung

Konzept und Lösungsansatz

Erweiterungen und Weiterführendes

Theorie einfach erklärt

Ziel und Fazit

1. Kapitel

Herausforderung & Ziel: Graph erstellen

Herausforderung

Wir wollen mit Neo4j…

  1. Graph in eine Datenbank erstellen
  2. Graphen als Konzept der Informatik verstehen

 

 

Voraussetzungen: Dein Wissen

  • Etwas programmiert haben … mit Java, Python oder jede andere Programmiersprache
  • Admin-Reche, um Programme zu installieren und zu deinstallieren

Technische Voraussetzungen: Das brauchst Du für Dein erstes Graphendatenbank Projekt

  • Admin-Rechte
  • Mehr als 5 GB RAM (besser 12 GB

Verwendung von Graphendatenbanken in der Praxis

Graphendatenbanken zeigen erstaunliche Anwendungsfälle:

  • Nutzerprofile: Die sozialen Medien verwenden die Graphen, um die Beziehungen von Nutzern miteinander zu verknüpfen. Die Realität sieht komplizierter aus. Ein Graph kann ohne Problem Patchwork-Familien und multiple Beziehungen darstellen.
    Datenknoten müssen nicht nur Personen sein, sondern auch Unternehmen, Produkte oder Orte. Eine Person zeigt eine Verbindung (präferieren, beisitzen oder zugehörig) zu diesen Objekten. Diese kann ein Graph mit unterschiedlichen Typen von Verbindungen darstellen.
  • Titel wie „Kunden kauften auch…“ gehören zu den Shopping Empfehlungen, die viele von den E-Commerce-Webseiten kennen. Diese Empfehlung basieren auf Graphen ab. Wenn Du Dir ein Smartphone käufst, kaufen viele andere Smartphone-Käufer die passen Schutzfolie. Diese Komplementär-Produkte kauft ein Smartphonen-Nutzer, weil diese das neu gekautes Produkt vor Kratzern schützt. Solche Zusammenhänge kann ein Graph gut darstellen.
  • Empfehlungssysteme für Medien: Wenn Du nicht weißt, was Du auf YouTube als Nächstes schauen möchtest, schlägt die YouTube die Videos vor, die andere gesehen haben und ähnliche Interessen wie Du haben wie Du.
  • Beschreibung von komplexen Zusammenhängen: In Chemie, Physik und anderen Naturwissenschaften finden die Graphen eine Anwendung.
  • Navigationssysteme: Eine Graphen-Datenbank kann alle Wege und Straßen dieser Welt fassen. Mit Graphen und großen Matrizen rechnen die Navigationssysteme, um Dir den schnellsten Weg von A nach B zu sagen.

2. Kapitel

Konzept & Lösungsansatz: Graphendatenbank

Konzept und Lösungsansatz

Was ist ein Graph?

Dantenbank für Graphen – besser oder schlechter als Tabellen?

Was ist eine Graphen-Datenbank

Graphen bestehen nicht aus Tabellen, sondern aus den Datenkonten (engl. node) mit den Eigenschaften (engl. properties) und den Kanten verbinden die Datenkonten miteinander (Verbindungen). Graphen speichern Daten von vielen Praxis-Anwendungen effizienter als die klassischen Tabellen.

Die Darstellung von komplexen Zusammenhängen und Verbindung zwischen den Objekten, die relationalen Datenbanken zu einem Chaos an Spalten und Indizes führen

Graphen – Relational übersetzt

 

GraphenRelational
Konten entspricht einem Objekt in der DatenbankZeile
Schema bietet einen losen Rahmen für die Konten, dieser gelten als optional.Tabelle
Eigenschaften beschreiben die KontenSpalteneigenschaften
Beziehungen beschreiben die Verbindungen zwischen den ObjektenSchlüssel-Konzeption mit Primär- und Fremdschlüssel
Datentypen spezifizieren Konten und VerbindungenDatentypen spezifizieren die Spalten in eine Tabelle.

Graphen Akrobatik in der Informatik

… Infromatiker machen mit Graphen z. B.

  • Kürzeste Wege finden: Informatiker nutzen Graphen, um den Internet-Verkehr bzw. die Datenpakete durch das Internet zu leiten (engl. routen).
  • Mustererkennung: Facebook kann mit seiner Graphen-Datenbank gesellschaftliche Strukturen und Bewegungen analysieren, die sich als Muster in den Datenbanken zeigen.
  • Transformation: Die Graphen eignen sich, um selektiv Daten zu verändern.

Andere No-SQL-Datenbanktypen

  • Key-Value Datenbanken: Redis als eine In-Memory-Datenbank speichert z.B. Spielstände für Shooter-Games mit hoher Performance ab.
  • Spalten basierte Datenbanken: Relationalen Tabellen basieren auf den Zeilen. Apache Hbase legt den Fokus auf die Spalten.
  • Hierarchische Datenbanken: IBM entwickelte einen neuen Datenbank-Typ IMS und GIS, die wie ein Graphen-Datenbank Beziehungen zueinander herstellen. Hierarchische Datenbanken unterschieden sich von den Graphen, weil dieses keine Querverbindungen zeigen.
  • Relationale Datenbanken: MySQL basiert auf der zeilenweisen Struktur werden in vordefinierten Spalten Werte eingetragen
  • Objektorientierte Datenbanken denken konsequent das Konzept der Objektorientierung weiter. Ein Java-Programm kann ganze Objekte mit Attributen und Funktion in einem Speicher ablegen, ohne diese zu konvertieren oder zu verändern.

3. Kapitel

Basics: Neo4j verstehen

Theorie einfach erklärt

Wenn Du zum ersten Mal mit Graphen zu tun hast, dann laufen Dir eine Menge unbekannter Begriffe über den Weg.

Dieser Abschnitt soll die wichtigsten Konzepte / Begriffe so kurz wie möglich erklären.

Lese Dir den folgenden Abschnitt durch, um den Praxis-Teil besser zu verstehen.

 

Was ist Neo4j?

Neo4j als ein Graphen-Datenbank basiert auf der Sprach der Sprache Cypher. Neo4j können Interessierte als Open Source downloaden und als Datenspeicher für Ihr Projekt verwenden. Die Abfragesprache extrahiert Datenpunkt aus der Tabelle mit ihren Verbindungen.

Cypher basiert auf einem anderen Schema und Denken und zeigt nur geringfügig Parallelen zu SQL

Graphen in einer Datenbank erklärt

Graphen bestehen aus Knoten, Beschriftungen, Zusammenhänge / Beziehungen, Eigenschaften

  • Konten stellten 1 Einheit, bzw. 1 Reihe in der Tabelle dar. Die Knoten könne sich stark in Inhalt, Form, Große und Struktur voneinander unterscheiden.
  • In Neo4j entsprechen Beschriftungen den Typisierungen von Strings und Zahlentypen in Java oder TypeScript.
  • Die Beziehungen zwischen zwei Knoten können die Beschriftungen gruppieren und typisieren. Separate Eigenschaften können die Beziehungen näher beschreiben.

1. Eine Tastatur „gehört“ zu diesem Arbeitsplatz (Beschriftung: gehört)

2. Ein Wagon bildet einen Zug (Beschriftung: bildet)

Graphen ermöglichen Beziehung zu sich selbst.

Elon Musk managet Elon Musk (Schleife für CEO)

Die Eigenschaften entsprechen in der objektorientierten Programmierung den Attributen einer Klasse. Diese kann Neo4j die Typen Nummer, Strings und Wahrheit zu weisen.

4. Kapitel

Coden: Ab in die Praxis

Coding und Umsetzung

Jetzt wird’s ernst.

Wir erstellen mit diesen Schritten Deinen ersten Graphen.

Solltest Du stecken bleiben – dann schreibe einen Kommentar mit Deiner Fehlermeldungen unten in das Kommentar-Feld.

Neo4J wollen wir im nächsten Abschnitt auf Deinem Computer installieren.

Für das Testen reicht ein lokales Projekt aus. Wenn Du mehr mit Graphen anfangen möchtest, empfehle ich Dir in die Cloud zu wechseln. Du kannst in der Cloud viel besser skalieren als auf einem eigenen Server.

  1. Melde Dich bei Neo4j an, um die ZIP zu downloaden

    00 attend for Neo4j
    00 attend for Neo4j
  2. Downloade die 500MB+ ZIP

    01 Download Neo4j
    01 Download Neo4j
  3. Gehe durch den grafsichen Installer

    02 Nach der Installation von Neo4j
    02 Nach der Installation von Neo4j
  4. Öffne PowerShell mit Admin Rechten und gebe ein
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  5. Starte Neo4J
  6. Erstelle einen Graph

    03 Erstelle ein Graph
    03 Erstelle ein Graph
  7. Starte den Graph (1 Minute)
  8. Wechsle zu die  Abfrage-Ansicht des Neo4J Browsers

    04 Start den Graph
    04 Start den Graph
  9. Gebe folgenden Befehl an, um einen Konten zu erstellen
    CREATE (p:Person{name:"steffen"})
    RETURN p
  10. Erstelle eine Beziehung mit
    CREATE (p:Person{name:"steffen"}),(k:Person{name:"mark"}),
    (p)-[:kennt]->(k)
    RETURN p,k
  11. oder noch lustiger:
    CREATE (p:Person{name:"steffen"}),(k:Person{name:"mark"}),
    (p)-[:kennt]->(k),
    (k)-[:hört]->(p),
    (p)-[:bestimmt]->(p)RETURN p,k

5. Kapitel

Erweiterungen: Wie kann ich den Graph erweitern?

Erweiterungen und Weiterführendes

Hast Du noch nicht genug von dem Graphendatenbank Tutorial?

Dann füge andere Graphen hinzu.

    • beschreibe in einem Graph die Beziehung zwischen Student und Professoren

 

    Erstelle einen Stammbaum Deiner FamilieErstelle ein MindMap in einem GraphFrage nur die Beziehung „verheiratet“ ab….

6. Kapitel

Fazit: Gratulation zu Deinem ersten Graphen

Ziel und Fazit

Graphen sind sehr vielseitig einsetzbar und skalieren gut.

Probiere Dich aus.

  • Schreibt von Fehlermeldungen, die auftreten …
  • Kritik mit Verbesserungsvorschlägen für das Tutorial
  • Installationsprobleme mit Neo4j…

Danke. Ich freue mich auf Euer Feedback

Credits zu den verwendeten Bildern
Icons made by Vectors Market from www.flaticon.com is licensed by CC 3.0 BY

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.