GQL-Kurzübersicht

Dieser Artikel ist eine Kurzübersicht über die GQL-Syntax (Graph Query Language) für Graph in Microsoft Fabric. Nutze es, um Syntax und Standardwerte abzurufen. Für eine vollständige Erklärung siehe den GQL-Sprachguide; jeder Abschnitt verweist auf die fokussierte Referenz, die die vollständigen Details enthält.

Hinweis

In diesem Artikel wird in erster Linie das Beispieldiagramm-Dataset für soziale Netzwerke verwendet. Es enthält auch einige Beispiele, die das Adventure Works-Dataset aus dem Diagramm-Lernprogramm verwenden.

Abfragestruktur

GQL-Abfragen verwenden eine Abfolge von Anweisungen, die definieren, welche Daten aus dem Diagramm abgerufen werden sollen, wie sie verarbeitet werden und wie die Ergebnisse angezeigt werden. Jede Anweisung hat einen bestimmten Zweck, und zusammen erstellen sie eine lineare Pipeline, die Daten aus dem Diagramm abgleicht und sie schritt für Schritt transformiert.

Typischer Abfragefluss:
Eine GQL-Abfrage beginnt in der Regel mit der Angabe des abzugleichenden Diagrammmusters. Anschließend werden optionale Anweisungen für die Variablenerstellung, Filterung, Sortierung, Paginierung und Ergebnisausgabe verwendet.

Example:

MATCH (n:Person)-[:knows]->(m:Person) 
LET fullName = n.firstName || ' ' || n.lastName 
FILTER m.gender = 'female' 
ORDER BY fullName ASC 
OFFSET 10
LIMIT 5 
RETURN fullName, m.firstName

Aussage-Zusammenfassung:

Von Bedeutung

Anweisungen bilden eine geordnete Pipeline und können nicht willkürlich umgeordnet werden. Weitere Informationen finden Sie im Artikel zu den aktuellen Einschränkungen.

  • MATCH – Geben Sie diagrammmuster an, die gesucht werden sollen.
  • LET – Definieren sie Variablen aus Ausdrücken.
  • FOR – Eine Liste in Zeilen erweitern.
  • CALL – Führe eine Inline-Unterabfrage aus und füge die zurückgegebenen Spalten hinzu.
  • FILTER – Zeilenabgleichsbedingungen beibehalten.
  • WHEN – Routen Sie jede Eingabezeile an den ersten passenden bedingten Sprung.
  • ORDER BY – Sortierergebnisse.
  • OFFSET – Überspringen Sie viele Zeilen.
  • LIMIT – Die Anzahl der Zeilen einschränken.
  • RETURN – Gibt die Endergebnisse aus.
  • NEXT – Starte eine weitere Abfragephase, indem man die von der vorherigen Stufe zurückgegebenen Spalten verwendet.

Jede Anweisung baut auf dem vorherigen auf, sodass Sie die Abfrageausgabe inkrementell verfeinern und gestalten. Verwenden Sie UNION, UNION DISTINCT, oder UNION ALL um vollständige Abfrageblöcke zu kombinieren. Weitere Informationen zu den einzelnen Anweisungen finden Sie in den folgenden Abschnitten.

Abfrageanweisungen

MATCH

Suchen Sie Diagrammmuster in Ihren Daten.

Syntax:

MATCH <graph pattern> [ WHERE <predicate> ]
...

Example:

MATCH (n:Person)-[:knows]-(m:Person) WHERE n.birthday > 2000
RETURN *

Weitere Informationen zur MATCH Anweisung finden Sie in den Graph-Mustern.

LASSEN

Erstellen Sie Variablen mithilfe von Ausdrücken.

Syntax:

LET <variable> = <expression>, <variable> = <expression>, ...
...

Example:

MATCH (n:Person)
LET fullName = n.firstName || ' ' || n.lastName
RETURN fullName

Weitere Informationen zur LET Anweisung finden Sie im GQL-Sprachhandbuch.

FOR

Erweitert eine Liste in Zeilen und gibt optional die Position jedes Elements zurück.

Syntax:

FOR <variable> IN <list_expression>
  [ WITH OFFSET <offset_variable> | WITH ORDINALITY <ordinality_variable> ]
...

Example:

FOR value IN [10, 20] WITH OFFSET index
RETURN value, index

WITH OFFSET beginnt bei 0. WITH ORDINALITY beginnt bei 1.

Weitere Informationen zur FOR Anweisung finden Sie im GQL-Sprachhandbuch.

CALL

Führt für jede Eingabezeile eine Inline-Subquery aus. Variablen, die bereits im Geltungsbereich liegen, sind implizit innerhalb der Unterabfrage verfügbar.

Syntax:

[ OPTIONAL ] CALL {
  <query statements>
  RETURN <columns>
}
...

Von den innerhalb der Unterabfrage erstellten Variablen sind außerhalb der Unteranweisung nur Spalten aus der Endanweisung RETURN verfügbar. Ordinary lässt eine äußere Zeile fallen, wenn die Unterabfrage keine Zeilen CALL zurückgibt, und multipliziert sie, wenn die Unterabfrage mehrere Zeilen zurückgibt. OPTIONAL CALL bewahrt eine äußere Zeile mit NULL Unterabfragenspalten, wenn die Unterabfrage keine Zeilen zurückgibt.

MATCH (p:Person)
CALL {
  MATCH (p)-[:knows]->(friend:Person)
  RETURN count(*) AS friendCount
}
RETURN p.firstName, friendCount

Weitere Informationen zu Inline-Unteranfragen finden Sie im GQL-Sprachleitfaden.

Filter

Behält Zeilen bei, die Bedingungen erfüllen.

Syntax:

FILTER [ WHERE ] <predicate>
...

Example:

MATCH (n:Person)-[:knows]->(m:Person)
FILTER WHERE n.birthday > m.birthday
RETURN *

Weitere Informationen zur FILTER Anweisung finden Sie im GQL-Sprachhandbuch.

SORTIEREN NACH

Sortiert die Ergebnisse.

Syntax:

ORDER BY <expression> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ], ...
...

Example:

MATCH (n:Person)
RETURN *
ORDER BY n.lastName ASC NULLS LAST, n.firstName ASC

Die Nullplatzierung ist unabhängig von der Sortierrichtung. Standardmäßig gilt NULLS LAST sowohl als auch DESC; geben Sie anNULLS FIRST, dass Nullwerte vor Nicht-Nullwerten ASC gesetzt werden.

Von Bedeutung

Die angeforderte Reihenfolge der Zeilen gilt nur garantiert unmittelbar nach einer vorangegangenen ORDER BY Aussage. Alle folgenden Anweisungen (sofern vorhanden) werden nicht garantiert, um eine solche Reihenfolge beizubehalten.

Weitere Informationen zur ORDER BY Anweisung finden Sie im GQL-Sprachhandbuch.

OFFSET/LIMIT

Überspringen Sie Zeilen, und beschränken Sie die Anzahl der Ergebnisse.

Syntax:

OFFSET <offset> [ LIMIT <limit> ]
LIMIT <limit>
...

Example:

MATCH (n:Person)
ORDER BY n.birthday
OFFSET 10 LIMIT 20
RETURN n.firstName || ' ' || n.lastName AS name, n.birthday

Weitere Informationen zu den OFFSET Und-Anweisungen LIMIT finden Sie im GQL-Sprachhandbuch.

RETURN

Geben Sie die endgültigen Ergebnisse aus.

Syntax:

RETURN [ DISTINCT ] <expression> [ AS <alias> ], ...

Example:

MATCH (n:Person)
RETURN n.firstName, n.lastName

Weitere Informationen zur RETURN Anweisung finden Sie im GQL-Sprachhandbuch.

NEXT

Es startet eine weitere Abfragephase. Nur Spalten, die von der vorhergehenden Stufe zurückgegeben werden, sind nach NEXTder verfügbaren.

Syntax:

<query stage>
RETURN <columns>
NEXT
<query stage>

Example:

RETURN 1 AS value
NEXT
RETURN value + 1 AS nextValue

Beide Stufen können eine Vereinigung von Abfrageblöcken enthalten. Die Vereinigung wird innerhalb dieser Stufe ausgewertet, bevor ihr Ausgang die Grenze NEXT überschreitet.

Für weitere Informationen siehe NEXTden GQL-Sprachguide.

Bedingungsanweisungen

Routet jede Eingabezeile an den ersten WHEN Zweig, dessen Prädikat zu TRUEauswertet.

Syntax:

WHEN <predicate> THEN <linear query statement or { query statements }>
[ WHEN <predicate> THEN <linear query statement or { query statements }> ... ]
[ ELSE <linear query statement or { query statements }> ]

Prädikate müssen boolesch sein und in der richtigen Reihenfolge ausgewertet werden. FALSE und UNKNOWN zum nächsten Ast durchzufallen. Wenn kein Sprung übereinstimmt und es keinen ELSEgibt, wird die Eingabezeile weggelassen. Prädikate nach dem ersten Match und nicht ausgewählte Zweigkörper werden nicht bewertet.

RETURN 'Alice' AS name, 19900101u AS birthday
NEXT
WHEN birthday < 20000101u THEN
  RETURN name, 'Before 2000' AS era
ELSE
  RETURN name, '2000 or later' AS era

Alle Verzweigungen müssen dieselben Spaltennamen mit kompatiblen Datentypen zurückgeben. Umschließen Sie einen Ast mit Zahnspangen, wenn er ein verschachteltes Verfahren enthält.

Weitere Informationen finden Sie unter Bedingte Anweisungen.

UNION

Kombiniert die Ausgabe vollständiger Abfrageblöcke.

Syntax:

<query block>
UNION [ DISTINCT | ALL ]
<query block>

Entblöße UNION und UNION DISTINCT entferne doppelte Zeilen. UNION ALL bewahrt doppelte Reihen. Jeder Abfrageblock muss denselben Satz von Spaltennamen mit kompatiblen Datentypen zurückgeben.

Weitere Informationen zu Gewerkschaften finden Sie im GQL-Sprachleitfaden.

Diagrammmuster

Diagrammmuster beschreiben die Struktur des Zugleichenden Diagramms.

Knotenmuster

Verwenden Sie in Graphdatenbanken Knoten, um Entitäten wie Personen, Produkte oder Orte darzustellen.

Knotenmuster beschreiben, wie Knoten im Diagramm übereinstimmen. Sie können nach Bezeichnungs- oder Bindungsvariablen filtern.

(n)              -- Any node
(n:Person)       -- Node with Person label  
(n:City&Place)   -- Node with City AND Place label
(:Person)        -- Person node, don't bind variable

Weitere Informationen zu Knotenmustern finden Sie in den Graph-Mustern.

Edgemuster

Edgemuster geben Beziehungen zwischen Knoten an, einschließlich Richtung und Edgetyp. In Graphdatenbanken stellt ein Rand eine Verbindung oder Beziehung zwischen zwei Knoten dar.

<-[e]-             -- Incoming edge
-[e]->             -- Outgoing edge
-[e]-              -- Any edge
-[e:knows]->       -- Edge with label ("relationship type")
-[e:knows|likes]-> -- Edges with different labels
-[:knows]->        -- :knows edge, don't bind variable

Weitere Informationen zu Edgemustern finden Sie in den Graph-Mustern.

Bezeichnungsausdrücke

Mit Bezeichnungsausdrücken können Sie Knoten mit bestimmten Bezeichnungskombinationen mithilfe logischer Operatoren abgleichen.

:Person&Company                  -- Both Person AND Company labels
:Person|Company                  -- Person OR Company labels
:!Company                        -- NOT Company label
:(Person|!Company)&Active        -- Complex expressions with parentheses

Weitere Informationen zu Bezeichnungsausdrücken finden Sie in den Graph-Mustern.

Pfadmuster

Pfadmuster beschreiben Traversale durch das Diagramm, einschließlich Hopanzahlen und Variablenbindungen.

(a)-[:knows|likes]->{1,3}(b)        -- 1-3 hops via knows/likes
p=()-[:knows]->()                   -- Bind a path variable
MATCH REPEATABLE ELEMENTS (a)->(b)  -- Explicit default match mode
MATCH DIFFERENT EDGES (a)->(b), (a)->(c)
MATCH ALL TRAIL (a)->{1,4}(b)       -- Every edge-unique path
MATCH p = ANY SHORTEST (a)->{1,4}(b) -- One shortest path per endpoint pair

WALK ist der Standardpfadmodus und erlaubt wiederholte Knoten und Kanten. TRAIL verhindert wiederholte Kanten. SIMPLE verhindert wiederholte Knoten, außer bei einem schließenden Zyklus vom ersten bis zum letzten Zyklus, und ACYCLIC verhindert alle wiederholten Knoten. Beide knoten-eindeutigen Modi verhindern zudem wiederholte Kanten, da die Wiederverwendung von Kantenknoten wiederholen würde. ALL ist die Standard-Pfadsuche. ANY SHORTEST gibt für jedes Quell-Ziel-Paar einen kürzesten Pfad zurück und wählt nicht deterministisch zwischen gebundenen Pfaden.

Unterstützte Quantoren sind feste {n}, beschränkte {m,n} und {,n}, sowie unbeschränkte {m,}, *, und +. Unbegrenzte ALL WALK Muster werden nicht unterstützt; benutze einen Terminationspfad-Modus. Unbeschränkt ANY SHORTEST WALK hat zusätzliche Form- und Wegwertbeschränkungen. Für Details siehe GQL-Diagrammmuster.

Weitere Informationen zu Pfadmustern finden Sie in den Graph-Mustern.

Mehrere Muster

Verwenden Sie mehrere Muster, um komplexe, nichtlineare Diagrammstrukturen in einer einzelnen Abfrage abzugleichen.

(a)->(b), (a)->(c)               -- Multiple edges from same node
(a)->(b)<-(c), (b)->(d)          -- Nonlinear structures

Weitere Informationen zu mehreren Mustern finden Sie in den Graph-Mustern.

Werte und Werttypen

Grundlegende Typen

Grundlegende Typen sind primitive Datenwerte wie Zeichenfolgen, Zahlen, Booleane und Datetimes.

STRING           -- 'hello', "world"
INT64            -- 42, -17
FLOAT64          -- 3.14, -2.5e10, -17d
BOOL             -- TRUE, FALSE, UNKNOWN
ZONED DATETIME   -- ZONED_DATETIME('2023-01-15T10:30:00Z')

Das d Suffix oder D erzeugt ein ungefähres FLOAT64 Literal. Ein Exponent ohne Suffix erzeugt ebenfalls einen Wert FLOAT64 . Die Suffixe und F wörtliche f Suffixe werden derzeit nicht unterstützt.

Weitere Informationen zu grundlegenden Typen finden Sie unter GQL-Werte und Werttypen.

Referenzwerttypen

Referenzwerttypen sind Knoten und Kanten, die Sie als Werte in Abfragen verwenden.

NODE             -- Node reference values
EDGE             -- Edge reference values

Weitere Informationen zu Referenzwerttypen finden Sie unter GQL-Werte und Werttypen.

Auflistungstypen

Sammlungstypen gruppieren mehrere Werte, z. B. Listen und Pfade.

LIST<INT64>      -- [1, 2, 3]
LIST<STRING>     -- ['a', 'b', 'c']
PATH             -- Path values

Weitere Informationen zu Sammlungstypen finden Sie unter GQL-Werte und -Werttypen.

Material- und nullable Typen

Jeder Werttyp ist entweder nullable (enthält den Nullwert) oder Material (schließt ihn aus). Standardmäßig können Typen nullwertet werden, es sei denn, Sie geben explizit an NOT NULL.

STRING NOT NULL  -- Material (Non-nullable) string type
INT64            -- Nullable (default) integer type

Ausdrücke und Operatoren

Conditional

Einfache Ausdrücke CASE vergleichen einen Ausdruck mit einem oder mehreren Werten.

CASE expr WHEN val THEN val ELSE val END -- Simple CASE
NULLIF(a, b)                           -- NULL if a = b

Gesuchte CASE WHEN <predicate> Ausdrücke werden nicht unterstützt. Verwenden Sie eine bedingte Anweisung , um Zeilen basierend auf Prädikaten zu routen.

Weitere Informationen zu bedingten Ausdrücken finden Sie in den GQL-Ausdrücken und -Funktionen.

Vergleich

Vergleichsoperatoren vergleichen Werte und überprüfen auf Gleichheit, Sortierung oder Null.

=, <>, <, <=, >, >=              -- Standard comparison
IS NULL, IS NOT NULL             -- Null checks

Weitere Informationen zu Vergleichs-Prädikaten finden Sie in den GQL-Ausdrücken und -Funktionen.

Logisch

Logische Operatoren kombinieren oder negieren boolesche Bedingungen in Abfragen.

AND, OR, NOT, XOR               -- Boolean logic

Weitere Informationen zu logischen Ausdrücken finden Sie in den GQL-Ausdrücken und -Funktionen.

EXISTIERT

Prüft, ob eine Prozedurenform-Unterabfrage mindestens eine Zeile zurückgibt.

EXISTS {
  MATCH (p)-[:knows]->(friend:Person)
  RETURN friend
}

EXISTS gibt einen nicht-nullen Booleschen Wert zurück. Verwenden NOT EXISTS Sie, um zu testen, dass die Unterabfrage keine Zeilen zurückgibt. Du kannst das Ergebnis in WHERE oder FILTER, LET, RETURN, , ORDER BYverwenden und Filter- oder Quellausdrücke aggregieren. EXISTS wird in einem Listenprädikatenfilter nicht unterstützt.

Von Bedeutung

Graph-Pattern-only-Formulare wie EXISTS { (p)-[:knows]->(friend) } und EXISTS ((p)-[:knows]->(friend)) werden nicht unterstützt. Verwenden Sie das Verfahrensformular, das MATCH im vorherigen Beispiel gezeigt wird.

Caution

Ein ungruppiertes Aggregat wie z. RETURN count(*) B. gibt eine Zeile zurück, selbst wenn kein Muster übereinstimmt. Denn EXISTS bei Tests auf Zeilen evaluiert diese Form zu TRUE.

Für weitere Informationen zu EXISTS, siehe Existenz-Subqueries.

Arithmetik

Arithmetische Operatoren führen Berechnungen für Zahlen durch.

+, -, *, /                       -- Basic arithmetic operations
1.00m / 8.00m                    -- Exact result: 0.1250m

Weitere Informationen zu arithmetischen Ausdrücken finden Sie in den GQL-Ausdrücken und -Funktionen.

Zeichenfolgenmuster

Zeichenfolgenmusterprädikate entsprechen Teilzeichenfolgen, Präfixen oder Suffixe in Zeichenfolgen.

n.firstName CONTAINS 'John'          -- Has substring
n.browserUsed STARTS WITH 'Chrome'   -- Starts with prefix
n.locationIP ENDS WITH '.1'          -- Ends with suffix
MSFT.REGEXP_LIKE(n.firstName, '^jo', 'i') -- RE2 regular expression

Weitere Informationen zu Zeichenfolgenmuster-Prädikaten finden Sie in den GQL-Ausdrücken und -Funktionen.

Vorgänge auflisten

Listenvorgänge testen Mitgliedschaft, Zugriffselemente und Messen der Listenlänge.

n.gender IN ['male', 'female']    -- Membership test
n.tags[0]                        -- First element
size(n.tags)                     -- List length
ALL(x IN n.tags WHERE x <> '')   -- Every element matches
ANY(x IN n.tags WHERE x = 'gql') -- At least one element matches
NONE(x IN n.tags WHERE x = '')   -- No element matches
SINGLE(x IN n.tags WHERE x = 'gql') -- Exactly one element matches

Listenprädikatfunktionen geben , FALSE, oder UNKNOWN entsprechend den Filterergebnissen zurückTRUE. Für eine leere Liste geben ALL und NONE , während TRUEANY und SINGLE geben . zurück.FALSE Eine Nullquellenliste liefert UNKNOWN.

Die Elementbindung ist lokal für den Filter und kann eine äußere Variable überschatten. Aggregate über dieser lokalen Bindung und EXISTS Unterabfragen im Filter werden nicht unterstützt.

Weitere Informationen finden Sie unter Prädikatfunktionen Liste der Funktionen.

Eigenschaftenzugriff

Der Eigenschaftszugriff ruft den Wert einer Eigenschaft von einem Knoten oder Rand ab.

n.firstName                      -- Property access

Weitere Informationen zum Eigenschaftenzugriff finden Sie in den GQL-Ausdrücken und -Funktionen.

Funktionen

Verwenden Sie eingebaute Funktionen, um Werte zu transformieren, Graphelemente zu inspizieren und Zeilen zu aggregieren.

Numerische Funktionen

Numerische Funktionen berechnen numerische Werte oder erzeugen ganzzahlige Bereiche.

abs(value)                       -- Absolute value; preserves the numeric type
power(base, exponent)            -- Exponentiation; returns DOUBLE
sin(radians), cos(radians)       -- Trigonometric functions
asin(value), acos(value)         -- Inverse functions; value must be in [-1, 1]
degrees(radians)                 -- Convert radians to degrees
radians(degrees)                 -- Convert degrees to radians
range(start, end)                -- Integer range with step 1
range(start, end, step)          -- Integer range with a nonzero step

Weitere unterstützte trigonometrische Funktionen sind TAN, COT, , ATAN, SINH, COSHund TANH. Mit Ausnahme von ABS und RANGEgeben diese numerischen Funktionen .DOUBLE

Erfahren Sie mehr über numerische Funktionen in GQL-Ausdrücken und -Funktionen.

Aggregatfunktionen

Aggregatfunktionen berechnen Zusammenfassungswerte für Zeilengruppen (vertikale Aggregation) oder über die Elemente einer Gruppenliste (horizontale Aggregation).

count(*)                         -- Count all rows
count(expr)                      -- Count non-null values
sum(p.birthday)                  -- Sum values
avg(p.birthday)                  -- Average
min(p.birthday), max(p.birthday) -- Minimum and maximum values
collect_list(p.firstName)        -- Collect inputs, including nulls
collect_one(p.firstName)         -- Select one non-null value
collect_elements(p.roles)        -- Concatenate list-valued inputs
count(DISTINCT expr)             -- Remove duplicate expression values
count(*) FILTER (WHERE predicate LIMIT 10) -- Filter and limit this aggregate

Ohne Gruppierung von Spalten liefert eine aggregierte Abfrage ohne Eingabezeilen für , eine leere Liste für COLLECT_LIST und COLLECT_ELEMENTS, und null für SUM, AVG, MIN, MAX, und COLLECT_ONE.0COUNT Ein Gruppenlisten-Argument macht das Aggregat horizontal.

Erfahren Sie mehr über Aggregatfunktionen in den GQL-Ausdrücken und -Funktionen.

Zeichenfolgenfunktionen

Mit Zeichenfolgenfunktionen können Sie mit Zeichenfolgenwerten arbeiten und diese analysieren.

char_length(s)                   -- String length
upper(s), lower(s)               -- Unicode case mapping
casefold(s)                      -- Unicode caseless form
normalize(s)                     -- Normalize a string to NFC
normalize(s, NFD)                -- Normalize a string to NFD
trim(s)                          -- Trim spaces
trim(leading '_' from s)         -- Trim one custom byte
string_join(list)                -- Join with ", "
string_join(list, delimiter)     -- Join with a custom delimiter
MSFT.REGEXP_COUNT(s, pattern)    -- Count RE2 matches
MSFT.REGEXP_INSTR(s, pattern)    -- Find a zero-based match position
MSFT.REGEXP_SUBSTR(s, pattern)   -- Return matching text
MSFT.REGEXP_REPLACE(s, pattern, replacement) -- Replace matches

Regex-Muster, Ersatz und Optionen müssen wörtlich sein. Für Signaturen, Flags und Nullverhalten siehe String-Funktionen.

Listenfunktionen

Mithilfe von Listenfunktionen können Sie mit Listen arbeiten, z. B. die Länge überprüfen oder die Größe kürzen.

size(list)                       -- List length
trim(list, n)                    -- Trim a list to at most n elements

Weitere Informationen zu Listenfunktionen finden Sie unter GQL-Ausdrücke und -Funktionen.

Graph-Funktionen

Mithilfe von Graph-Funktionen können Sie Informationen von Knoten, Pfaden und Kanten abrufen.

labels(node)                     -- Get node labels
element_id(node_or_edge)         -- Get an opaque element identifier
nodes(path)                      -- Get path nodes
edges(path)                      -- Get path edges
elements(path)                   -- Get all path nodes and edges
path_length(path)                -- Get number of edges in a path

Weitere Informationen zu Diagrammfunktionen finden Sie unter GQL-Ausdrücke und -Funktionen.

Zeitliche Funktionen

Mit zeitlichen Funktionen können Sie mit Datums- und Uhrzeitwerten arbeiten.

CURRENT_TIMESTAMP                -- Get the current zoned datetime
ZONED_DATETIME(string)           -- Parse an ISO 8601 zoned datetime
DURATION(string)                 -- Parse an ISO 8601 day-time duration

Weitere Informationen zu zeitlichen Funktionen finden Sie unter GQL-Ausdrücke und -Funktionen.

Allgemeine Funktionen

Mit generischen Funktionen können Sie auf gemeinsame Weise mit Daten arbeiten.

coalesce(expr1, expr2, ...)    -- Get the first non-null value
to_json_string(value)          -- Convert value to JSON string
nullif(a, b)                   -- NULL if a = b, else a

Weitere Informationen zu generischen Funktionen finden Sie unter GQL-Ausdrücke und -Funktionen.

Aufgabenorientierte Beispiele

Verwenden Sie die Anleitungsartikel, wenn Sie vollständige, anpassungsfähige Abfragemuster benötigen: