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:

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:
  • Recurso GG20: nomes de tipo de elemento explícitos.
  • Recurso GG21: conjuntos de rótulos de chave de tipo de elemento explícitos.
  • Recurso GG22: inferência de conjunto de rótulos de chave de tipo de elemento.
  • Recurso GG22: inferência de conjunto de rótulos de chave de tipo de elemento.
  • Recurso GG23: conjuntos de rótulos de chave de tipo de elemento opcional.
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:
  • O tipo de string de caracteres especificado por STRING ou VARCHAR.
  • O tipo booleano especificado por BOOLEAN ou BOOL.
  • O tipo de número inteiro regular com sinal especificado por SIGNED INTEGER, INTEGER ou INT.
  • O tipo numérico aproximado especificado por FLOAT."
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.