A página descreve como o Spanner Graph suporta a linguagem de consulta padrão internacional ISO para bases de dados de grafos.
O Spanner Graph baseia-se em duas normas ISO:
- ISO/IEC 9075-16:2023 - Tecnologias de informação – Linguagens de base de dados SQL Property Graph Queries (SQL/PGQ), Edição 1, 2023
 - ISO/IEC 39075:2024 – Tecnologias de informação – Linguagens de bases de dados – GQL, Edição 1, 2024
 
As tabelas seguintes descrevem a relação de alto nível entre SQL/PGQ, GQL e como o Spanner Graph suporta estes padrões.
| Standard | SQL/PGQ | GQL | Gráfico do Spanner | |
|---|---|---|---|---|
| Consulta | Capacidades de correspondência de padrões de gráficos | Partilha as funcionalidades essenciais da linguagem de correspondência de padrões de grafos (GPML) com a GQL. | Partilha as funcionalidades essenciais da GPML com SQL/PGQ. | Ambas as normas são suportadas. Para mais informações, consulte os padrões GQL do Spanner Graph. | 
| Consulta | Outras funcionalidades da linguagem de consulta (por exemplo, LIMIT, ORDER, agregação) | 
Baseado em SQL. | Semelhante ao SQL, mas as funcionalidades de consulta GQL são declarações de consulta de gráficos linearmente compostas. | Ambas as normas são suportadas. Para mais informações, consulte as declarações de consulta GQL do Spanner Graph e a sintaxe de consulta no GoogleSQL. | 
| Consulta | Interoperabilidade de gráficos e tabelas | Compatível. | Não suportado. | Ambas as normas são suportadas. Para mais informações, consulte o operador GRAPH_TABLE. | 
| Tipos | Os tipos de dados, as funções e as expressões em SQL/PGQ e GQL são semelhantes. | Os tipos de dados, as funções e as expressões em SQL/PGQ e GQL são semelhantes. | Suporta a maioria dos tipos de dados e expressões em SQL/PGQ e GQL. Para mais informações, consulte o artigo Tipos de dados no GoogleSQL. | |
| DML | O SQL/PGQ herda o DML do SQL. | O DML baseado em grafos é suportado. | Suporta DML baseado em tabelas SQL. Para mais informações, consulte a linguagem de manipulação de dados GoogleSQL. | |
| Esquema | Suporta a utilização de CREATE PROPERTY GRAPH de tabelas. | 
Suporta a utilização de CREATE PROPERTY GRAPH com tipos abertos e tipos fechados. | 
Suporta o método SQL/PGQ. Para mais informações, consulte a definição de CREATE PROPERTY GRAPH. | 
Suporte de SQL/PGQ
| Standard | ID da funcionalidade SQL/PGQ | Gráfico do Spanner | 
|---|---|---|
| Consulta (interoperabilidade de gráficos e tabelas) | Funcionalidade G900: GRAPH_TABLE | 
Compatível. Para mais informações, consulte o operador GRAPH_TABLE. | 
| Esquema | Funcionalidade G924: cláusula de chave explícita para tabelas de elementos. Isto implica uma reivindicação de conformidade com a funcionalidade G920: gráficos de propriedades SQL baseados em DDL. | Compatível. Para mais informações, consulte a declaração CREATE_PROPERTY_GRAPH. | 
| Esquema | Funcionalidade G925: cláusula de etiqueta e propriedades explícitas para tabelas de elementos. Isto implica uma reivindicação de conformidade com a funcionalidade G920: gráficos de propriedades SQL baseados em DDL. | Compatível. Para mais informações, consulte a declaração CREATE_PROPERTY_GRAPH. | 
| Consulta (GPML) | Funcionalidade G001: modo de correspondência de elementos repetíveis. | Compatível. O modo de correspondência de elementos repetíveis é a semântica predefinida. A sintaxe da cláusula do modo de correspondência de elementos repetíveis explícitos não é suportada. | 
| Consulta (GPML) | Funcionalidade G008: cláusula de padrão de gráfico WHERE. Isto implica uma reivindicação de conformidade com a funcionalidade G000: padrão de gráfico. | 
Compatível. Para mais informações, consulte o artigo Padrão de gráfico. | 
| Consulta (GPML) | Funcionalidade G034: concatenação de caminhos. | Compatível. Para mais informações, consulte o artigo Padrão de gráfico. | 
| Consulta (GPML) | Funcionalidade G040: padrão de vértices. | Compatível. Para mais informações, consulte o artigo Padrão de elementos. | 
| Consulta (GPML) | Funcionalidade G042: padrões básicos de preenchimento total. | Compatível. Para mais informações, consulte o artigo Padrão de elementos. | 
| Consulta (GPML) | Funcionalidade G070: expressão de etiqueta: disjunção de etiquetas. | Compatível. Para mais informações, consulte o artigo Expressão de etiqueta. | 
| Consulta (GPML) | Funcionalidade G073: expressão de etiqueta: nome da etiqueta individual. | Compatível. Para mais informações, consulte o artigo Expressão de etiqueta. | 
| Consulta (GPML) | Funcionalidade G090: referência da propriedade. | Compatível. | 
Suporte de GQL
| Standard | ID da funcionalidade GQL | Gráfico do Spanner | 
|---|---|---|
| Esquema | Feature GG02: gráfico com um tipo de gráfico fechado. Conformidade com, pelo menos, uma das normas GG20, GG21, GG22 ou GG23: 
 
 
 
 
  | 
Compatível. O suporte do GQL pode ser escolhido a partir de GG01: gráfico com um tipo aberto ou GG02.  O Spanner Graph não suporta a mesma declaração CREATE_GRAPH_TYPE que o GQL. No entanto, a declaração CREATE_PROPERTY_GRAPH suportada pelo Spanner Graph está estreitamente relacionada com o GG02 (com suporte semelhante para GG20, GG21, GG22 e GG23). | 
| Estrutura lexical | "Uma reivindicação de conformidade com uma versão específica da norma TheUnicode® e as versões síncronas da norma técnica Unicode n.º 10, do anexo n.º 15 da norma Unicode e do anexo n.º 31 da norma Unicode. A versão reivindicada da norma Unicode® não pode ser inferior a 13.0.0." | O Spanner Graph GQL partilha a estrutura lexical exata com o GoogleSQL. Para referência aos valores de escape Unicode, consulte o artigo Sequências de escape para literais de string e bytes. | 
| Tipos de dados | "Uma reivindicação de conformidade com o conjunto de todos os tipos de valores suportados como os tipos de valores de propriedades. No mínimo, este conjunto deve incluir: 
 
 
 
  | 
Compatível. Para mais informações, consulte uma lista completa dos tipos de dados suportados pelo GQL do Spanner Graph. | 
Funcionalidades adicionais
As funcionalidades indicadas nas secções anteriores são as funcionalidades de conformidade mínimas das normas. O Spanner Graph suporta funcionalidades adicionais nas normas ISO. Para saber mais, consulte a vista geral do esquema do Spanner Graph e a vista geral do GQL.