Database Reference
In-Depth Information
$
curl -i -X POST http://localhost:7474/db/data/node/9/relationships \
-H "Content-Type: application/json" \
-d '{"to": "http://localhost:7474/db/data/node/10", "type": "WROTE",
"data": {"published": "November 28, 1916"}}'
Eine schöne Sache am REST-Interface ist, dass es uns tatsächlich schon in
den Metadaten (s. o.) über die
create
_
relationship
-Property gezeigt hat, wie
man eine Beziehung herstellt. Auf diese Weise sind REST-Interfaces wech-
selseitig
Den Pfad inden
Über die REST-Schnittstelle können Sie den Pfad zwischen zwei Knoten er-
mitteln, indem Sie die Request-Daten an die
/paths
-URL des Startknotens
senden. Die Daten des
POST
-Requests müssen als JSON-String vorliegen und
den Knoten angeben, dessen Pfad Sie suchen, den Beziehungstyp, den Sie
verfolgen wollen und den Algorithmus, der zum Auffinden des Pfades ver-
wendet werden soll.
Im folgenden Beispiel sehen wir uns den Pfad für Beziehungen vom Typ
WROTE
an. Die Suche beginnt bei Knoten 1, verwendet den
shortestPath
-
Algorithmus und deckelt die Suche bei einer Tiefe von 10.
$
curl -X POST http://localhost:7474/db/data/node/9/paths \
-H "Content-Type: application/json" \
-d '{"to":"http://localhost:7474/db/data/node/10",
"relationships": {"type" : "WROTE"},
"algorithm":"shortestPath", "max
_
depth":10}'
[{
"start" : "http://localhost:7474/db/data/node/9",
"nodes" : [
"http://localhost:7474/db/data/node/9",
"http://localhost:7474/db/data/node/10"
],
"length" : 1,
"relationships" : [ "http://localhost:7474/db/data/relationship/14" ],
"end" : "http://localhost:7474/db/data/node/10"
}]
Die anderen Pfad-Algorithmen sind
allPaths
,
allSimplePaths
und
dijkstra
.
Details zu diesen Algorithmen finden Sie in der Online-Dokumentation,
1
sie
hier im Detail zu behandeln würde den Rahmen dieses Buches sprengen.
Indexierung
Wie die anderen Datenbanken, die wir kennengelernt haben, unterstützt
auch Neo4j schnelle Daten-Lookups durch den Aufbau von Indizes. Doch
es gibt einen Haken. Im Gegensatz zu anderen Datenbank-Indizes, bei de-