Database Reference
In-Depth Information
Queries über REST auf dem Server ausgeführt werden können, was unseren
Code von den Fesseln der Gremlin-Console befreit. Selbst Java lässt sich auf
dem Anwendungs-Server oder den Clients ausführen.
REST
Genau wie Riak, HBase, Mongo und CouchDB besitzt auch Neo4j eine REST-
Schnittstelle. Ein Grund dafür, dass all diese Datenbanken REST unterstüt-
zen, besteht darin, dass es sprachunabhängige Interaktionen über eine Stan-
dardschnittstelle erlaubt. Wir können die Verbindung mit Neo4j (das Java
braucht, um zu funktionieren) von einer separaten Maschine aus herstellen,
ohne in irgendeiner Form an Java gebunden zu sein. Und mit dem Gremlin-
Plugin können wir die Leistungsfähigkeit seiner kompakten Query-Syntax
über REST nutzen.
Zuerst sollten Sie prüfen, ob der REST-Server läuft, indem Sie mit einem GET
die Basis-URL abrufen, wodurch der Stammknoten zurückgegeben wird. Er
läuft am gleichen Port, den Sie gestern auch für das Webadmin-Tool genutzt
haben, unter dem Pfad /db/data/ . Wir nutzen unseren alten Bekannten curl ,
um die REST-Befehle abzusetzen.
$ curl http://localhost:7474/db/data/
{
"relationship _ index" : "http://localhost:7474/db/data/index/relationship",
"node" : "http://localhost:7474/db/data/node",
"relationship _ types" : "http://localhost:7474/db/data/relationship/types",
"extensions _ info" : "http://localhost:7474/db/data/ext",
"node _ index" : "http://localhost:7474/db/data/index/node",
"extensions" : {
}
}
Wir erhalten ein hübsches JSON-Objekt zurück, das die URLs anderer Be-
fehle beschreibt, etwa Knoten-Aktionen und Indizes.
Knoten und Beziehungen per REST aufbauen
Knoten und Beziehungen in Neo4j über REST aufzubauen, ist genau so ein-
fach wie bei CouchDB oder Riak. Das Erzeugen eines Knotens ist ein POST
an den /db/data/node -Pfad mit JSON-Daten. Es lohnt sich, jedem Knoten
eine name -Property zu geben. Das macht das Abrufen der Knotendaten sehr
einfach. Sie müssen nur name abrufen.
$ curl -i -X POST http://localhost:7474/db/data/node \
-H "Content-Type: application/json" \
-d '{"name": "P.G. Wodehouse", "genre": "British Humour"}'
Search WWH ::




Custom Search