La pagina descrive in che modo Spanner Graph supporta il linguaggio di query standard internazionale ISO per i database di grafi.
Spanner Graph si basa su due standard ISO:
- ISO/IEC 9075-16:2023 - Information technology — Database languages SQL Property Graph Queries (SQL/PGQ), Edizione 1, 2023
- ISO/IEC 39075:2024 - Information technology — Database languages — GQL, prima edizione, 2024
Le seguenti tabelle descrivono la relazione di alto livello tra SQL/PGQ, GQL e come Spanner Graph supporta questi standard.
Standard | SQL/PGQ | GQL | Spanner Graph | |
---|---|---|---|---|
Query | Funzionalità di corrispondenza di pattern dei grafici | Condivide le funzionalità di base di Graph Pattern Matching Language (GPML) con GQL. | Condivide le funzionalità di base di GPML con SQL/PGQ. | Entrambi gli standard sono supportati. Per ulteriori informazioni, consulta i pattern GQL di Spanner Graph. |
Query | Altre funzionalità del linguaggio di query (ad es. LIMIT , ORDER , aggregazione) |
Basato su SQL. | Simile a SQL, ma le funzionalità di query GQL sono istruzioni di query sul grafo componibili in modo lineare. | Sono supportati entrambi gli standard. Per saperne di più, consulta le istruzioni di query GQL di Spanner Graph e la sintassi delle query in GoogleSQL. |
Query | Interoperabilità di grafici e tabelle | Supportato. | Non supportati. | Entrambi gli standard sono supportati. Per ulteriori informazioni, consulta l'operatore GRAPH_TABLE . |
Tipi | I tipi di dati, le funzioni e le espressioni in SQL/PGQ e GQL sono simili. | I tipi di dati, le funzioni e le espressioni in SQL/PGQ e GQL sono simili. | Supporta la maggior parte dei tipi di dati ed espressioni in SQL/PGQ e GQL. Per saperne di più, consulta Tipi di dati in GoogleSQL. | |
DML | SQL/PGQ eredita la DML da SQL. | Il linguaggio DML basato su grafo è supportato. | Supporta la DML basata su tabelle SQL. Per ulteriori informazioni, consulta il linguaggio di manipolazione dei dati GoogleSQL. | |
Schema | Supporta l'utilizzo di CREATE PROPERTY GRAPH dalle tabelle. |
Supporta l'utilizzo di CREATE PROPERTY GRAPH con tipi aperti e chiusi. |
Supporta il metodo SQL/PGQ. Per ulteriori informazioni, consulta la definizione di CREATE PROPERTY GRAPH . |
Supporto di SQL/PGQ
Standard | ID funzionalità SQL/PGQ | Spanner Graph |
---|---|---|
Query (interoperabilità di grafici e tabelle) | Funzionalità G900: GRAPH_TABLE |
Supportato. Per ulteriori informazioni, consulta l'operatore GRAPH_TABLE . |
Schema | Funzionalità G924: clausola chiave esplicita per le tabelle di elementi. Ciò implica una dichiarazione di conformità alla funzionalità G920: grafici delle proprietà SQL basati su DDL. | Supportato. Per ulteriori informazioni, consulta la dichiarazione CREATE_PROPERTY_GRAPH . |
Schema | Funzionalità G925: clausola di etichette e proprietà esplicite per le tabelle degli elementi. Ciò implica una dichiarazione di conformità alla funzionalità G920: grafici delle proprietà SQL basati su DDL. | Supportato. Per ulteriori informazioni, consulta la dichiarazione CREATE_PROPERTY_GRAPH . |
Query (GPML) | Funzionalità G001: modalità di corrispondenza degli elementi ripetibili. | Supportato. La modalità di corrispondenza degli elementi ripetibili è la semantica predefinita. La sintassi della clausola della modalità di corrispondenza degli elementi ripetibili espliciti non è supportata. |
Query (GPML) | Funzionalità G008: clausola WHERE del pattern di grafico. Ciò implica una dichiarazione di conformità alla funzionalità G000: Pattern grafico. |
Supportato. Per saperne di più, consulta Modello di grafico. |
Query (GPML) | Funzionalità G034: concatenazione di percorsi. | Supportato. Per saperne di più, consulta Modello di grafico. |
Query (GPML) | Elemento G040: modello di vertici. | Supportato. Per ulteriori informazioni, consulta Pattern di elementi. |
Query (GPML) | Funzionalità G042: motivi di base per i bordi completi. | Supportato. Per ulteriori informazioni, consulta Pattern di elementi. |
Query (GPML) | Funzionalità G070: espressione dell'etichetta: disgiunzione di etichette. | Supportato. Per ulteriori informazioni, consulta la sezione Espressione dell'etichetta. |
Query (GPML) | Funzionalità G073: espressione dell'etichetta: nome dell'etichetta singola. | Supportato. Per ulteriori informazioni, consulta la sezione Espressione dell'etichetta. |
Query (GPML) | Funzionalità G090: Riferimento proprietà. | Supportato. |
Supporto GQL
Standard | ID funzionalità GQL | Spanner Graph |
---|---|---|
Schema | Elemento GG02: grafico con un tipo di grafico chiuso. Conformità ad almeno uno dei seguenti standard: GG20, GG21, GG22 o GG23:
|
Supportato. Il supporto GQL può essere scelto tra GG01: Grafo con un tipo aperto o GG02. Spanner Graph non supporta esattamente la stessa istruzione CREATE_GRAPH_TYPE di GQL. Tuttavia, l'istruzione CREATE_PROPERTY_GRAPH supportata da Spanner Graph è strettamente correlata a GG02 (con un supporto simile per GG20, GG21, GG22 e GG23). |
Struttura lessicale | "Una dichiarazione di conformità a una versione specifica dello standard Unicode® e alle versioni sincronizzate di Unicode Technical Standard n. 10, Unicode Standard Annex n. 15 e Unicode Standard Annex n. 31. La versione dichiarata dello standard Unicode® non deve essere precedente alla 13.0.0." | GQL di Spanner Graph condivide la stessa struttura lessicale di GoogleSQL. Per informazioni sui valori di escape Unicode, consulta Sequenze di escape per i valori letterali stringa e byte. |
Tipi di dati | "Una dichiarazione di conformità all'insieme di tutti i tipi di valori supportati come tipi di valori delle proprietà. Questo set deve includere almeno:
|
Supportato. Per ulteriori informazioni, consulta un elenco completo dei tipi di dati supportati da Spanner Graph GQL. |
Altre funzionalità
Le funzionalità elencate nelle sezioni precedenti sono le funzionalità di conformità minima degli standard. Spanner Graph supporta funzionalità aggiuntive gli standard ISO. Per saperne di più, consulta Panoramica dello schema di Spanner Graph e Panoramica di GQL.