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:

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:
  • Recurso GG20: nomes de tipos de elementos explícitos.
  • Recurso GG21: conjuntos de rótulos de chave de tipo de elemento explícitos.
  • Recurso GG22: inferência do conjunto de rótulos de chave do 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 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:
  • 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 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.