Cayley

Eine Graph Datenbank die in Go geschrieben wurde und im Juni 2014 erschienen ist.

Cayley nutzt .nt Dateien um die Daten zu speichern. N-Triples ist ein Format welches zeilenbasiert ist. Jede Zeile basiert aus drei Teilen die durch Leerzeichen getrennt werden.
Erst das Subjekt dann ein Prädikat und ein Objekt, am Ende der Zeile folgt ein Punkt.

Cayley kann auf zwei Arten gestartet werden.
Als interaktive Konsole mit dem Kommando repl.

Mit dem Kommando http wird ein Webinterface und eine HTTP API gestartet.

Anschliessend kann man das Webinterface unter http://localhost:64210 nutzen.

Um Daten abzufragen wird JavaScript verwendet was auf Gremlin basiert.
Es wird ein graph oder g Objekt zur Verfügung gestellt, um mit dem Graph zu interagieren.

Zusätzlich zu Gremlin werden auch Gizmo, MQL und GraphQl zur Verfügung gestellt.

MongoDB

Cayley kann anstatt der .nt Dateien auch MongoDB zur Speicherung nutzen.
Dazu kann man eine Konfigurationsdatei (cayley.cfg) erstellen, die man beim starten nutzt.

Initialisieren des Graphen.

Nach der Initialisierung wird per default eine Datenbank cayley erstellt, welche die Collections system.indexes und tiples enthält.

Daten in den Graph laden.

Nachdem die Daten geladen wurden ist eine weitere Collection nodes in der Datenbank zu finden, die Dokumente haben diesen Aufbau wobei Size für die Anzahl der Einträge im Graph steht.

Die Dokumente in der Collection triples haben diesen Aufbau und stellen die Daten aus der Datei da.

Graph als HTTP API starten.

cayley.io
Github Repository