[[Vorlage(Getestet, bionic focal), jammy]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] }}} [[Inhaltsverzeichnis(1)]] [https://neo4j.com Neo4j] {en} ist eine [wikipedia: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. [[Vorlage(Fremdquelle-auth, https://debian.neo4j.com/neotechnology.gpg.key)]] [[Vorlage(Fremdquelle, https://debian.neo4j.com stable 4.1)]] Dann kann man das Metapaket installieren: {{{#!vorlage Paketinstallation 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]. {{{#!vorlage Befehl sudo systemctl restart neo4j }}} [[Bild(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] }}} = Links = * [https://neo4j.com/resources/ Neo4j Resources] {en} - Materialien, um sich die Arbeit mit Neo4j zu erschließen #tag: Datenbank, Server, Programmierung