Auf der Seite wird beschrieben, wie Spanner Graph die internationale ISO-Standardabfragesprache für Graphdatenbanken unterstützt.
Spanner Graph basiert auf zwei ISO-Standards:
- ISO/IEC 9075-16:2023 – Informationstechnik – Datenbanksprachen: SQL-Property-Graph-Abfragen (SQL/PGQ), 1. Ausgabe, 2023
 - ISO/IEC 39075:2024 – Informationstechnik – Datenbanksprachen – GQL, 1. Ausgabe, 2024
 
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: 
 
 
 
 
  | 
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 den Werttypen entspricht, die als Property-Werttypen unterstützt werden. Dieser Satz muss mindestens Folgendes enthalten: 
 
 
 
  | 
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.