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.