BigQuery Graph e normas ISO
O documento descreve como o BigQuery Graph é compatível com a linguagem de consulta padrão internacional ISO para bancos de dados de gráficos.
O BigQuery Graph é baseado em duas normas ISO:
- ISO/IEC 9075-16:2023 - Information technology — Database languages SQL Property Graph Queries (SQL/PGQ), Edition 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 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 gráfico | Compartilha as principais funcionalidades da Graph Pattern Matching Language (GPML) com a GQL. | Compartilha as principais funcionalidades da GPML com SQL/PGQ. | Os dois padrões são aceitos. Para mais informações, consulte os padrões de GQL do BigQuery Graph. |
| Consulta | Outros recursos de linguagem de consulta (por exemplo, LIMIT, ORDER, agregação) |
Com base em SQL. | Semelhante ao SQL, mas os recursos de consulta da GQL são instruções de consulta de gráfico que podem ser compostas de forma linear. | Os dois padrões são aceitos. Para mais informações, consulte as instruções de consulta GQL do BigQuery Graph e a 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. | 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. | A DML baseada em gráficos é compatível. | Oferece suporte a DML com base 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. |
É compatível com o 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 | 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: rótulo explícito e cláusula de 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. A sintaxe da cláusula de modo de correspondência de elementos repetíveis explícitos não é compatível. |
| Consulta (GPML) | Recurso G008: cláusula WHERE do 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 caminhos. | 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 para GQL
| Padrão | ID do recurso GQL | Gráfico do BigQuery |
|---|---|---|
| Esquema | Recurso GG02: gráfico com um tipo de gráfico fechado. Conformidade com pelo menos um dos seguintes: GG20, GG21, GG22 ou GG23:
|
Compatível. O suporte à GQL pode ser escolhido em GG01: gráfico com um tipo aberto ou GG02. O BigQuery Graph não é compatível com a mesma instrução CREATE_GRAPH_TYPE do GQL. No entanto, a instrução CREATE_PROPERTY_GRAPH aceita pelo 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 padrão Unicode® não pode ser anterior à 13.0.0." | O BigQuery Graph GQL compartilha a mesma estrutura lexical do GoogleSQL. Para referência aos 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 que são aceitos 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 GQL do BigQuery Graph. |
Outros recursos
Os recursos listados nas seções anteriores são os recursos mínimos de conformidade dos padrões. O BigQuery Graph é compatível com outros recursos nas normas ISO. Para saber mais, consulte as visões gerais do esquema do BigQuery Graph e do GQL.