Spanner Graph und ISO-Standards

Auf der Seite wird beschrieben, wie Spanner Graph die internationale ISO-Standardabfragesprache für Graphdatenbanken unterstützt.

Spanner Graph basiert auf zwei ISO-Standards:

In den folgenden Tabellen wird die Beziehung zwischen SQL/PGQ und GQL beschrieben und wie Spanner Graph diese Standards unterstützt.

Standard SQL/PGQ GQL Cloud Spanner Graph
Abfrage Funktionen für den Musterabgleich in Graphen Die wichtigsten Funktionen von GPML (Graph Pattern Matching Language) sind mit GQL identisch. Die GPML-Kernfunktionen sind mit SQL/PGQ identisch. Beide Standards werden unterstützt. Weitere Informationen finden Sie unter GQL-Muster für Spanner-Graphen.
Abfrage Andere Funktionen der Abfragesprache (z. B. LIMIT, ORDER, Aggregation) SQL-basiert. Ähnlich wie SQL, aber die GQL-Abfragefunktionen sind linear zusammensetzbare Graphabfrageanweisungen. Beide Standards werden unterstützt. Weitere Informationen finden Sie unter GQL-Abfrageanweisungen für Spanner-Graphen und Abfragesyntax in GoogleSQL.
Abfrage Interoperabilität von Diagrammen und Tabellen Unterstützt. Nicht unterstützt. Beide Standards werden unterstützt. Weitere Informationen finden Sie unter GRAPH_TABLE-Operator.
Typen Datentypen, Funktionen und Ausdrücke in SQL/PGQ und GQL sind ähnlich. Datentypen, Funktionen und Ausdrücke in SQL/PGQ und GQL sind ähnlich. Unterstützt die meisten Datentypen und Ausdrücke in SQL/PGQ und GQL. Weitere Informationen finden Sie unter Datentypen in GoogleSQL.
DML SQL/PGQ übernimmt die DML von SQL. Graphenbasierte DML wird unterstützt. Unterstützt SQL-Tabellenbasierte DML. Weitere Informationen finden Sie in der GoogleSQL-Datenmanipulationssprache.
Schema Unterstützt die Verwendung von CREATE PROPERTY GRAPH aus Tabellen. Unterstützt die Verwendung von CREATE PROPERTY GRAPH mit offenen und geschlossenen Typen. Unterstützt die SQL/PGQ-Methode. Weitere Informationen finden Sie in der Definition von CREATE PROPERTY GRAPH.

SQL/PGQ-Unterstützung

Standard SQL/PGQ-Funktions-ID Cloud Spanner Graph
Abfrage (Interoperabilität von Diagrammen und Tabellen) Funktion G900: GRAPH_TABLE Unterstützt. Weitere Informationen finden Sie unter GRAPH_TABLE-Operator.
Schema Feature G924: Explizite Schlüsselklausel für Elementtabellen. Dies impliziert die Einhaltung von Feature G920: DDL-basierte SQL-Property-Graphen. Unterstützt. Weitere Informationen finden Sie unter CREATE_PROPERTY_GRAPH-Anweisung.
Schema Funktion G925: Ausdrückliche Label- und Eigenschaftenklausel für Elementtabellen Dies impliziert die Einhaltung des Features G920: DDL-basierte SQL-Property-Graphen. Unterstützt. Weitere Informationen finden Sie unter CREATE_PROPERTY_GRAPH-Anweisung.
Abfrage (GPML) Funktion G001: Abgleichsmodus für wiederholbare Elemente Unterstützt. Der Abgleichsmodus für wiederholbare Elemente ist die Standardsemantik. Die Syntax der Klausel für den Abgleichsmodus für explizit wiederholbare Elemente wird nicht unterstützt.
Abfrage (GPML) Feature G008: Graphmuster WHERE-Klausel. Dies impliziert einen Anspruch auf Übereinstimmung mit der Funktion G000: Graphmuster. Unterstützt. Weitere Informationen finden Sie unter Graphmuster.
Abfrage (GPML) Merkmal G034: Pfadkonkatenierung Unterstützt. Weitere Informationen finden Sie unter Diagrammmuster.
Abfrage (GPML) Element G040: Knotenmuster. Unterstützt. Weitere Informationen finden Sie unter Elementmuster.
Abfrage (GPML) Merkmal G042: Grundlegende Muster für volle Ränder Unterstützt. Weitere Informationen finden Sie unter Elementmuster.
Abfrage (GPML) Funktion G070: Labelausdruck: Labelausschluß Unterstützt. Weitere Informationen finden Sie unter Labelausdruck.
Abfrage (GPML) Funktion G073: Labelausdruck: Name des einzelnen Labels. Unterstützt. Weitere Informationen finden Sie unter Labelausdruck.
Abfrage (GPML) Element G090: Property-Referenz. Unterstützt.

GQL-Unterstützung

Standard GQL-Feature-ID Cloud Spanner Graph
Schema Feature GG02: Diagramm mit geschlossenem Diagrammtyp Konformität mit mindestens einer der folgenden Normen: GG20, GG21, GG22 oder GG23:
  • Feature GG20: Ausdrückliche Namen für Elementtypen.
  • Funktion GG21: Ausdrückliche Schlüssellabelsätze für Elementtypen
  • Feature GG22: Ableitung von Schlüssellabelsätzen für Elementtypen
  • Feature GG22: Ableitung von Schlüssellabelsätzen für Elementtypen
  • Feature GG23: Optionale Schlüssellabelsätze für Elementtypen
Unterstützt. Für den GQL-Support können Sie GG01: Graph mit offenem Typ oder GG02 auswählen.
Spanner Graph unterstützt nicht genau dieselbe CREATE_GRAPH_TYPE-Anweisung wie GQL. Die von Spanner Graph unterstützte CREATE_PROPERTY_GRAPH-Anweisung ist jedoch eng mit GG02 verwandt (mit ähnlicher Unterstützung für GG20, GG21, GG22 und GG23).
Lexikalische Struktur „Eine Konformitätserklärung für eine bestimmte Version des Unicode®-Standards und die synchronen Versionen des Unicode Technical Standard 10, des Unicode Standard Annex 15 und des Unicode Standard Annex 31. Die angegebene Version des Unicode®-Standards darf nicht niedriger als 13.0.0 sein.“ Spanner Graph GQL hat dieselbe lexikalische Struktur wie GoogleSQL. Informationen zu Unicode-Escape-Werten finden Sie unter Escapesequenzen für String- und Byteliterale.
Datentypen „Eine Behauptung, dass der Wert dem Satz aller Werttypen entspricht, die als Typen von Property-Werten unterstützt werden. Dieser Satz muss mindestens Folgendes enthalten:
  • Der von STRING oder VARCHAR angegebene Zeichenfolgentyp.
  • Der boolesche Typ, der durch BOOLEAN oder BOOL angegeben wird.
  • Der signierte Ganzzahltyp, der durch SIGNED INTEGER, INTEGER oder INT angegeben wird.
  • Der von FLOAT angegebene ungefähre numerische Typ.“
Unterstützt. Weitere Informationen finden Sie in der vollständigen Liste der von Spanner Graph GQL unterstützten Datentypen.

Zusätzliche Funktionen

Die in den vorherigen Abschnitten aufgeführten Funktionen sind die Mindestanforderungen der Standards. Spanner Graph unterstützt zusätzliche Funktionen in den ISO-Standards. Weitere Informationen finden Sie unter Spanner-Graphschema – Übersicht und GQL – Übersicht.