Padrões ISO e gráficos do BigQuery
O documento descreve como o BigQuery Graph oferece suporte à linguagem de consulta padrão internacional ISO para bancos de dados de gráficos.
O BigQuery Graph é baseado em dois padrões ISO:
- ISO/IEC 9075-16:2023 - Tecnologia da informação — Linguagens de banco de dados Consultas de gráficos de propriedades SQL (SQL/PGQ), 1ª edição, 2023
- ISO/IEC 39075:2024 - Tecnologia da informação — Linguagens de banco de dados — GQL, 1ª edição, 2024
As tabelas a seguir descrevem a relação de alto nível entre SQL/PGQ, GQL e como o BigQuery Graph oferece suporte a esses padrões.
| Padrão | SQL/PGQ | GQL | Gráfico do BigQuery | |
|---|---|---|---|---|
| Consulta | Recursos de correspondência de padrões de grafos | Compartilha as funcionalidades principais da linguagem de correspondência de padrões de grafos (GPML) com a GQL. | Compartilha as funcionalidades principais da GPML com SQL/PGQ. | Os dois padrões são aceitos. Para mais informações, consulte padrões GQL do BigQuery 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 GQL são instruções de consulta de gráfico linearmente combináveis. | Os dois padrões são aceitos. Para mais informações, consulte Instruções de consulta GQL do BigQuery Graph e Sintaxe de consulta no GoogleSQL. |
| Consulta | Interoperabilidade de gráficos e tabelas | Compatível. | Incompatível. | Os dois padrões são aceitos. 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. | Compatível com a 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. | A DML baseada em gráficos é compatível. | Compatível com DML baseada em tabelas SQL. Para mais informações, consulte a linguagem de manipulação de dados do GoogleSQL. | |
| Esquema | Permite usar CREATE PROPERTY GRAPH de tabelas. |
Oferece suporte ao uso de CREATE PROPERTY GRAPH com tipos abertos e fechados. |
Aceita o método SQL/PGQ. Para mais informações, consulte a definição de CREATE PROPERTY GRAPH. |
Compatibilidade com SQL/PGQ
| Padrão | ID do recurso SQL/PGQ | Gráfico do BigQuery |
|---|---|---|
| Consulta (interoperabilidade de gráficos e tabelas) | 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 propriedades SQL baseados em DDL. | Compatível. Para mais informações, consulte a instrução CREATE_PROPERTY_GRAPH. |
| Esquema | Recurso G925: cláusula explícita de rótulo e propriedades para tabelas de elementos. Isso implica uma declaração de conformidade com o recurso G920: gráficos de propriedades 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. Não há suporte para a sintaxe de cláusula de modo de correspondência de elementos repetíveis explícitos. |
| Consulta (GPML) | Recurso G008: cláusula de padrão de gráfico WHERE. 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 caminhos. | Compatível. Para mais informações, consulte Padrão de gráfico. |
| Consulta (GPML) | Recurso G040: padrão do 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ótulo. | 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 | Gráfico do BigQuery |
|---|---|---|
| Esquema | Recurso GG02: gráfico com um tipo fechado. Conformidade com pelo menos um dos seguintes padrões: GG20, GG21, GG22 ou GG23:
|
Compatível. O suporte à GQL pode ser escolhido entre GG01: gráfico com um tipo aberto ou GG02. O BigQuery Graph não oferece suporte à mesma instrução CREATE_GRAPH_TYPE que o GQL. No entanto, a instrução CREATE_PROPERTY_GRAPH compatível com o BigQuery 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 declarada do Unicode® Standard não pode ser inferior a 13.0.0." | O BigQuery Graph GQL compartilha a mesma estrutura lexical do 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 valores compatíveis como tipos de valores de propriedade. No mínimo, esse conjunto precisa incluir:
|
Compatível. Para mais informações, consulte uma lista completa de tipos de dados compatíveis com o BigQuery Graph GQL. |
Outros recursos
Os recursos listados nas seções anteriores são os recursos mínimos de conformidade dos padrões. O BigQuery Graph oferece suporte a outros recursos nos padrões ISO. Para saber mais, consulte Visão geral do esquema de gráficos do BigQuery e Visão geral da GQL.