Wie man die Neo4j Graph-Datenbank unter Debian 12 installiert und nutzt
Neo4j ist ein leistungsstarkes Graphdatenbank-Managementsystem für Graphenspeicherung, Data Science, ML, Analytik und Visualisierung. Neo4j speichert Daten in Knoten, Kanten, die sie in Beziehungen verbinden, und Attribute von Knoten und Kanten.
In diesem Tutorial zeigen wir dir Schritt für Schritt, wie du die Neo4j Graph Database auf dem Debian 12 Server installierst und benutzt. Außerdem erfährst du, wie du dich über die Cypher-Shell mit neo4j verbinden kannst und lernst die grundlegenden Cypher-Abfragen.
Voraussetzungen
Bevor du fortfährst, solltest du sicherstellen, dass du Folgendes hast:
- Einen Debian 12 Server mit mindestens 2 GB Speicher.
- Einen Nicht-Root-Benutzer mit sudo-Administrator-Rechten.
Java OpenJDK installieren
Bevor du Neo4j Graph Database installierst, musst du Java auf deinem System installieren. Es wird empfohlen, die neueste Java LTS Version zu verwenden – Java OpenJDK 17. In diesem Abschnitt wirst du Java OpenJDK 17 über das Debian-Repository installieren.
Führe zunächst den unten stehenden Befehl aus, um deinen Debian-Paketindex zu aktualisieren und die neuesten Paketinformationen zu erhalten.
sudo apt update
Installiere nun Java OpenJDK 17, indem du den unten stehenden Befehl ausführst. Im Debian 12 Repository verweist das Paket default-jdk auf das Java OpenJDK 17, das die Neo4j Graph Database benötigt.
sudo apt install default-jdk
Gib y ein, um mit der Installation fortzufahren.
Nachdem du Java installiert hast, überprüfe die Java-Version mit dem folgenden Befehl. Du solltest das Java OpenJDK 17 auf deinem System installiert bekommen.
java -version
Installation der Neo4j Graph-Datenbank
Nachdem du Java installiert hast, kannst du die Neo4j Graph Database auf deinem Debian-System installieren. Du installierst die grundlegenden Abhängigkeiten, richtest das Neo4j-Repository ein, installierst das Neo4j-Paket und startest und aktivierst den Neo4j-Dienst.
Um zu beginnen, führe den folgenden Befehl aus, um grundlegende Systemwerkzeuge auf deinem Debian-Server zu installieren.
sudo apt install gnupg2 apt-transport-https wget curl -y
Führe nun den folgenden Befehl aus, um den Neo4j GPG-Schlüssel und das Repository hinzuzufügen. In diesem Fall wirst du das Neo4j-Repository zu deinem System hinzufügen.
wget -q -O- https://debian.neo4j.com/neotechnology.gpg.key | \ gpg --dearmor | sudo tee /usr/share/keyrings/neotechnology.gpg > /dev/null 2>&1
echo „deb [signed-by=/usr/share/keyrings/neotechnology.gpg] https://debian.neo4j.com stable latest“ | \
sudo tee /etc/apt/sources.list.d/neo4j.list
Als Nächstes aktualisierst du deinen Debian-Paketindex und installierst das Neo4j-Paket, indem du den folgenden apt-Befehl ausführst.
sudo apt update && sudo apt install neo4j
Gib y ein, um mit der Installation fortzufahren.
Sobald du das Neo4j-Paket installiert hast, führe den folgenden systemctl-Befehl aus, um den neo4j-Dienst zu starten und zu aktivieren.
sudo systemctl start neo4j sudo systemctl enable neo4j
Überprüfe abschließend den neo4j-Dienst mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status neo4j
Wenn die Neo4j Graph-Datenbank läuft, wird die Ausgabe active(running) wie folgt auf deinem Bildschirm angezeigt.
Grundlegende Konfiguration des Neo4j-Einsatzes
Nachdem du die Neo4j Graph-Datenbank installiert hast, musst du als Erstes das Neo4j-Admin-Passwort über die neo4j-admin-Befehlszeile konfigurieren sowie die Listen-Adresse und den maximalen Heap-Speicher einrichten, indem du die Standardkonfiguration /etc/neo4j/neo4j.conf anpasst.
Führe den folgenden neo4j-admin-Befehl aus, um das Standardpasswort für deine Neo4j-Installation einzurichten. In diesem Beispiel setzt du das Standardpasswort für Neo4j auf p4ssword.
neo4j-admin dbms set-initial-password p4ssword
Nachdem du das Standardpasswort für Neo4j eingerichtet hast, öffnest du die Neo4j-Konfiguration /etc/neo4j/neo4j.conf mit dem folgenden Befehl des nano-Editors.
sudo nano /etc/neo4j/neo4j.conf
Füge deine lokale IP-Adresse zum Parameter dbms.default_listen_address hinzu, damit Neo4j im lokalen Netzwerk ausgeführt werden kann. Ändere dann den Parameter server.memory.heap.max_size, um den maximalen Heap-Speicher für die Neo4j Graphdatenbank festzulegen. In diesem Fall wird Neo4j auf 192.168.5.15 mit einem maximalen Heap-Speicher von 4 GB laufen.
dbms.default_listen_address=192.168.5.15
server.memory.heap.initial_size=512m
server.memory.heap.max_size=4096m
Wenn du fertig bist, speichere die Datei und beende den Editor.
Zum Schluss führst du den systemctl-Befehl aus, um die Änderungen zu übernehmen, indem du den neo4j-Dienst neu startest.
sudo systemctl restart neo4j
Verbindung zu Neo4j über die Cypher-Shell
Um dich mit der Neo4j Graph-Datenbank zu verbinden, verwende die cyper-shell. Die Funktionsweise der cypher-shell ist ähnlich wie der mysql-Client bei MySQL/MariaDB und psql bei PostgreSQL. Mit der cypher-shell kannst du Cypher-Abfragen ausführen. Cypher ist eine deklarative Abfragesprache für die Neo4j Graph-Datenbank.
Führe den folgenden cypher-shell-Befehl aus, um dich bei der Neo4j Graph-Datenbank anzumelden. Wenn du nach einem Benutzernamen gefragt wirst, gibst du den Standardbenutzer neo4j und dann dein Passwort ein.
cypher-shell -a 'neo4j://192.168.5.15:7687'
Sobald die Verbindung hergestellt ist, wird die Meldung„Connected to Neo4j … as user neo4j“ angezeigt und die Eingabeaufforderung sieht aus wie „neo4j@neo4j>“.
Führe nun die folgende Cypher-Abfrage aus : :help, um Hilfemeldungen anzuzeigen und :exit, um die Cypher-Shell zu verlassen. Wie du bemerkt hast, beginnen die Cypher-Abfragen immer mit einem Semikolon.
:help :exit
Verwende außerdem die zusätzliche Option -a, um dich mit einem bestimmten Neo4j-Server zu verbinden, oder -u, um dich als dein gewünschter Benutzer anzumelden.
cypher-shell -a 'neo4j://192.168.5.15:7687' -u neo4j -p p4ssword
Grundlegende Operationen in der Neo4j Graph-Datenbank
In der Neo4j Graphdatenbank gibt es 3 zentrale Entitäten:
- Knoten: die Dateneinheiten der Neo4j Graphdatenbank, die in der Abfragesprache Cyper in Klammern () stehen.
- Beziehungen: Wenn zwei Knoten miteinander verbunden sind, nennt man das eine Beziehung. Die Beziehung wird mit dem Pfeil -> dargestellt, der die Richtung zwischen den Knoten angibt.
- Pfade: Sie bestehen aus verbundenen Knoten und Beziehungen.
Führe zunächst die folgende Abfrage aus, um einen neuen Knoten mit der Bezeichnung Film zu erstellen.
CREATE (a:Movie {title:'The Matrix', released: 1999}) RETURN a;
Führe nun die folgende Abfrage aus, um mehrere Knoten mit der gleichen Bezeichnung Person zu erstellen.
CREATE (a:Person {name:'Keanu Reeves', born: 1964}) RETURN a; CREATE (a:Person {name:'Carrie-Anne Moss', born: 1967}) RETURN a; CREATE (a:Person {name:'Laurence Fishburne', born: 1961}) RETURN a;
Als Nächstes führst du die folgende Abfrage aus, um neue Beziehungen zwischen den Knoten mit der Bezeichnung Person und dem Knoten mit der Bezeichnung Film zu erstellen. In diesem Fall heißt die Beziehung ACTED_IN mit der Eigenschaft roles.
MATCH (a:Person), (b:Movie) WHERE (a.name = 'Keanu Reeves') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Neo']}]->(b); MATCH (a:Person), (b:Movie) WHERE (a.name = 'Carrie-Anne Moss') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Trinity']}]->(b); MATCH (a:Person), (b:Movie) WHERE (a.name = 'Laurence Fishburne') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Morpheus']}]->(b);
Führe schließlich die folgende Abfrage aus, um die verfügbaren Knoten und Beziehungen in deiner Neo4j-Graphdatenbank zu überprüfen.
MATCH (s)-[r]->(e) RETURN s.name AS Name, e.title AS Title, r.roles AS As;
Die folgende Ausgabe bestätigt, dass jeder Knoten verbunden ist.
Fazit
Abschließend hast du die Neo4j Graph-Datenbank auf dem Debian 12 Server Schritt für Schritt erfolgreich installiert. Du hast die Neo4j Graph-Datenbank installiert und konfiguriert, die grundlegende Verwendung der Cypher-Shell zur Verbindung mit Neo4j gelernt und die grundlegende Bedienung der Cyper-Abfragesprache erlernt