A página descreve como o Spanner Graph oferece suporte à linguagem de consulta padrão internacional ISO para bancos de dados de gráficos.
O Spanner Graph é baseado em dois padrões ISO:
- ISO/IEC 9075-16:2023 - Tecnologia da informação — Linguagens de banco de dados SQL Property Graph Queries (SQL/PGQ), Edição 1, 2023
- ISO/IEC 39075:2024 — Tecnologia da informação — Linguagens de banco de dados — GQL, Edição 1, 2024
As tabelas a seguir descrevem a relação de alto nível entre SQL/PGQ, GQL e como o Spanner Graph oferece suporte a esses padrões.
Padrão | SQL/PGQ | GQL | Spanner Graph | |
---|---|---|---|---|
Consulta | Recursos de correspondência de padrões de gráfico | Compartilha as funcionalidades principais da linguagem de correspondência de padrões de gráfico (GPML, na sigla em inglês) com o GQL. | Compartilha as funcionalidades principais do GPML com o SQL/PGQ. | Ambos os padrões são aceitos. Para mais informações, consulte os padrões GQL do Spanner Graph. |
Consulta | Outros recursos da linguagem de consulta (por exemplo, LIMIT , ORDER , agregação) |
Com base em SQL. | Semelhante ao SQL, mas os recursos de consulta do GQL são instruções de consulta de gráfico linearmente combináveis. | Ambos os padrões são aceitos. Para mais informações, consulte as Instruções de consulta GQL do Spanner Graph e a Sintaxe de consulta no GoogleSQL. |
Consulta | Interoperabilidade de gráficos e tabelas | Compatível. | Incompatível. | Ambos os padrões são aceitos. Para mais informações, consulte 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. | Oferece suporte à maioria dos tipos de dados e expressões em SQL/PGQ e GQL. Para mais informações, consulte Tipos de dados no GoogleSQL. | |
DML | O SQL/PGQ herda a DML do SQL. | DML baseado em gráfico é aceito. | Oferece suporte a DML baseada em tabelas SQL. Para mais informações, consulte a linguagem de manipulação de dados do GoogleSQL. | |
Esquema | Oferece suporte ao uso de CREATE PROPERTY GRAPH em tabelas. |
Suporte ao uso de CREATE PROPERTY GRAPH com tipos abertos e fechados. |
Oferece suporte ao método SQL/PGQ. Para mais informações, consulte a definição de CREATE PROPERTY GRAPH . |
Suporte a SQL/PGQ
Padrão | ID do recurso SQL/PGQ | Spanner Graph |
---|---|---|
Consulta (interoperabilidade de gráfico e tabela) | Recurso G900: GRAPH_TABLE |
Compatível. Para mais informações, consulte o operador GRAPH_TABLE . |
Esquema | Recurso G924: cláusula de chave explícita para tabelas de elementos. Isso implica uma declaração de conformidade com o recurso G920: gráficos de propriedade SQL baseados em DDL. | Compatível. Para mais informações, consulte a instrução CREATE_PROPERTY_GRAPH . |
Esquema | Recurso G925: cláusula de rótulo e propriedades explícitas para tabelas de elementos. Isso implica uma declaração de conformidade com o recurso G920: gráficos de propriedade SQL baseados em DDL. | Compatível. Para mais informações, consulte a instrução CREATE_PROPERTY_GRAPH . |
Consulta (GPML) | Recurso G001: modo de correspondência de elementos repetíveis. | Compatível. O modo de correspondência de elementos repetíveis é a semântica padrão. A sintaxe da cláusula de modo de correspondência de elementos repetitivos explícitos não é aceita. |
Consulta (GPML) | Recurso G008: cláusula WHERE de padrão de gráfico. Isso implica uma declaração de conformidade com o recurso G000: Padrão de gráfico. |
Compatível. Para mais informações, consulte Padrão de gráfico. |
Consulta (GPML) | Recurso G034: concatenação de caminho. | Compatível. Para mais informações, consulte Padrão de gráfico. |
Consulta (GPML) | Recurso G040: padrão de vértice. | Compatível. Para mais informações, consulte Padrão de elemento. |
Consulta (GPML) | Recurso G042: padrões básicos de borda completa. | Compatível. Para mais informações, consulte Padrão de elemento. |
Consulta (GPML) | Recurso G070: expressão de rótulo: disjunção de rótulos. | Compatível. Para mais informações, consulte Expressão de rótulo. |
Consulta (GPML) | Recurso G073: expressão de rótulo: nome do rótulo individual. | Compatível. Para mais informações, consulte Expressão de rótulo. |
Consulta (GPML) | Recurso G090: referência de propriedade. | Compatível. |
Suporte ao GQL
Padrão | ID do recurso GQL | Spanner Graph |
---|---|---|
Esquema | Recurso GG02: gráfico com um tipo fechado. Conformidade com pelo menos uma das GG20, GG21, GG22 ou GG23:
|
Compatível. O suporte ao GQL pode ser escolhido entre GG01: Gráfico com um tipo aberto ou GG02. O Spanner Graph não oferece suporte à mesma instrução CREATE_GRAPH_TYPE do GQL. No entanto, a instrução CREATE_PROPERTY_GRAPH (link em inglês) aceita pelo Spanner Graph está intimamente relacionada ao GG02, com suporte semelhante para GG20, GG21, GG22 e GG23. |
Estrutura lexical | "Uma declaração de conformidade com uma versão específica do padrão Unicode® e as versões síncronas do Unicode Technical Standard #10, do Unicode Standard Annex #15 e do Unicode Standard Annex #31. A versão indicada do padrão Unicode® não pode ser inferior a 13.0.0." | O GQL do Spanner Graph compartilha a estrutura léxica exata com o GoogleSQL. Para referência a valores de escape Unicode, consulte Sequências de escape para literais de strings e bytes. |
Tipos de dados | Uma declaração de conformidade com o conjunto de todos os tipos de valor com suporte como tipos de valores de propriedade. No mínimo, esse conjunto deve incluir:
|
Compatível. Para mais informações, consulte uma lista completa de tipos de dados aceitos pelo Spanner Graph GQL. |
Outros recursos
Os recursos listados nas seções anteriores são os recursos de conformidade mínima dos padrões. O Spanner Graph oferece suporte a outros recursos nos padrões ISO. Para saber mais, consulte a Visão geral do esquema do Spanner Graph e a Visão geral do GQL.