Abfragen mit Cypher

Zugriff auf den Knowledge Graphen per Cypher-API

Der Property Graph und die Cypher-API sind experimentell.

Vorausgesetzt wird ein Grundverständnis der Abfragesprache Cypher und des Datenbankschemas.

Abfrage-Editor

Anfrageformat

Der vorläufige API-Endpunkt ist https://graph.nfdi4objects.net/api/cypher. Die Cypher-Abfrage wird mit einer HTTP GET Anfrage im Query-Parameter query übergeben (siehe API-Dokumentation).

Rückgabeformat

Das Rückgabeformat ist ein JSON-Array von Objekten, deren Felder den Abfragefeldern entsprechen. Die Feldwerte werden folgendermaßen von Cypher nach JSON gemappt:

Cypher Datentyp JSON Datentyp Beispiel
NULL null null
BOOLEAN boolean true
INTEGER number 123
FLOAT number 3.14
STRING string "äbć"
ByteArray string "A2+/" (Base64)
LIST array [0,8,15]
MAP string {"x":"?","y":42}
Temporal (DATE, LOCAL TIME, DURATION…) string (ISO-8601)
"2015-03-26"
"12:50:35.556"
"P14DT16H12M"
POINT string (WKT)
"SRID=7203;POINT(1.2 3.4)"
NODE object
{
  "type": "node",
  "id": "4b55-98f8",
  "labels": ["E22"],
  "properties": {
    "P3_has_note": "?!"
  }
}
RELATIONSHIP object
{
  "type": "edge",
  "id": "37a9-72df",
  "labels": ["P40"],
  "properties": {"x": 1},
  "from": "98f8-6888",
  "to": "164b-c83a"
}
PATH array Array aus NODE und RELATIONSHIP Objekten.

Die Kodierung von NODE und RELATIONSHIP Objekten entspricht der Kodierung von Knoten und Kanten im Format PG-JSONL mit dem Unterschied, dass Property-Werte nicht zwingend vom Type array sind, sondern auch null, boolean, number und string sein können. Die Kodierung von PATH Objekten entspricht der Kodierung von Graphen im Format PG-JSON mit der gleichen Erweiterung von Property-Werten.