Neo4j

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Neo4j 🇬🇧 ist eine Graphdatenbank (und damit auch eine NoSQL-Datenbank), die in Java implementiert ist. Der Fokus liegt hier in der Modellierung und Speicherung der Daten in Form von Knoten und Kanten. Die Knoten sind Entitäten, die durch Eigenschaften bestimmt werden. Die Kanten beschreiben Beziehungen zwischen Entitäten. Die Community-Edition der Datenbank ist unter der GNU General Public License (GPL) v3 lizenziert. Speziell für den kommerziellen Einsatz ist eine Version unter einer kommerziellen Lizenz verfügbar.

Zur Bedienung von Neo4J über die Kommandozeile gibt es die Cypher-Shell. Außerdem wird eine komfortable Weboberfläche mitgeliefert, die über einen beliebigen Webbrowser aufgerufen werden.

Installation

Im Folgenden wird die Installation der Community-Edition beschrieben. In früheren Versionen musste zunächst eine Java Laufzeitumgebung als Installationsvoraussetzung installiert werden. Die aktuelle Version installiert eine passende Java Laufzeitumgebung direkt mit.

Neo4J ist nicht in den Quellen enthalten[1]. Aber man kann das Repository von der Hersteller Homepage einbinden.

Um die Fremdquelle zu authentifizieren, muss man den Signierungsschlüssel herunterladen ⮷ und in der Paketverwaltung hinzufügen. Alternativ dazu kann man auch im Terminal den folgenden Befehl ausführen:

wget -q -O "-" https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - 

Um aus der Fremdquelle zu installieren, muss man unabhängig von der Ubuntu-Version die folgende Paketquelle freischalten:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.

deb https://debian.neo4j.com stable 4.1

Dann kann man das Metapaket installieren:

Befehl zum Installieren der Pakete:

sudo apt-get install neo4j 

Oder mit apturl installieren, Link: apt://neo4j

Damit künftig beim Start des Servers der DB-Dienst gestartet wird, muss man ihn als Dienst "enablen":

sudo systemctl enable neo4j.service

Für den Master-User "neo4j" muss zunächst in der mitinstallierten Cypher-Shell ein neues Passwort vergeben werden. Dazu meldet man sich mittels einer Konsole an der Cypher-Shell an. Die Shell fragt nach Benutzernamen und Passwort. Diese lauten zunächst "neu4j" (beide). Das Passwort muss nun geändert werden:

$ cypher-shell
username: neo4j
password: *****
Password change required
new password:

Nach Änderung des Passwortes kann man erst einmal die Shell mit ":exit" verlassen.

In der Konfigurationsdatei /etc/neo4j/neo4j.conf, die mit Root-Rechten bearbeitet werden muss, müssen nun noch zwei auskommentierte Einträge aktiviert werden, damit der Dienst über den Browser genutzt werden kann:

dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474
dbms.default_listen_address=0.0.0.0

Möchte man die Datenbank nur von ausgewählten Netzwerksegmenten oder konkreten IP-Adressen aus nutzen, dann muss man natürlich statt "dbms.default_listen_address=0.0.0.0" differenziertere Netzwerkparameter eingeben.

Der Dienst kann dann sofort gestartet werden [2].

sudo systemctl restart neo4j 

neo4j_Browser.png

Bedienung

Im Webbrowser

In einem beliebigen Webbrowser gibt man nur die Adresse des Rechners, auf dem Neo4j installiert ist (wenn es der lokale Rechner ist, localhost, ansonsten Netzwerkname oder IP-Adresse des Servers und die Portadresse 7474 ein (z.B. localhost:7474 oder 192.168.0.88:7474). Nun kann man mit der Weboberfläche loslegen.

Von der Kommandozeile

Auf der Kommandoebene des Cypher-Systems (lokal oder per ssh-Verbindung) loggt man sich in der Cypher-Shell ein:

$neo4j-home> cypher-shell -u [username] -p [password]