Gráfico do Spanner e normas ISO

A página descreve como o Spanner Graph suporta a linguagem de consulta padrão internacional ISO para bases de dados de grafos.

O Spanner Graph baseia-se em duas normas ISO:

As tabelas seguintes descrevem a relação de alto nível entre SQL/PGQ, GQL e como o Spanner Graph suporta estes padrões.

Standard SQL/PGQ GQL Gráfico do Spanner
Consulta Capacidades de correspondência de padrões de gráficos Partilha as funcionalidades essenciais da linguagem de correspondência de padrões de grafos (GPML) com a GQL. Partilha as funcionalidades essenciais da GPML com SQL/PGQ. Ambas as normas são suportadas. Para mais informações, consulte os padrões GQL do Spanner Graph.
Consulta Outras funcionalidades da linguagem de consulta (por exemplo, LIMIT, ORDER, agregação) Baseado em SQL. Semelhante ao SQL, mas as funcionalidades de consulta GQL são declarações de consulta de gráficos linearmente compostas. Ambas as normas são suportadas. Para mais informações, consulte as declarações de consulta GQL do Spanner Graph e a sintaxe de consulta no GoogleSQL.
Consulta Interoperabilidade de gráficos e tabelas Compatível. Não suportado. Ambas as normas são suportadas. 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. Suporta a maioria dos tipos de dados e expressões em SQL/PGQ e GQL. Para mais informações, consulte o artigo Tipos de dados no GoogleSQL.
DML O SQL/PGQ herda o DML do SQL. O DML baseado em grafos é suportado. Suporta DML baseado em tabelas SQL. Para mais informações, consulte a linguagem de manipulação de dados GoogleSQL.
Esquema Suporta a utilização de CREATE PROPERTY GRAPH de tabelas. Suporta a utilização de CREATE PROPERTY GRAPH com tipos abertos e tipos fechados. Suporta o método SQL/PGQ. Para mais informações, consulte a definição de CREATE PROPERTY GRAPH.

Suporte de SQL/PGQ

Standard ID da funcionalidade SQL/PGQ Gráfico do Spanner
Consulta (interoperabilidade de gráficos e tabelas) Funcionalidade G900: GRAPH_TABLE Compatível. Para mais informações, consulte o operador GRAPH_TABLE.
Esquema Funcionalidade G924: cláusula de chave explícita para tabelas de elementos. Isto implica uma reivindicação de conformidade com a funcionalidade G920: gráficos de propriedades SQL baseados em DDL. Compatível. Para mais informações, consulte a declaração CREATE_PROPERTY_GRAPH.
Esquema Funcionalidade G925: cláusula de etiqueta e propriedades explícitas para tabelas de elementos. Isto implica uma reivindicação de conformidade com a funcionalidade G920: gráficos de propriedades SQL baseados em DDL. Compatível. Para mais informações, consulte a declaração CREATE_PROPERTY_GRAPH.
Consulta (GPML) Funcionalidade G001: modo de correspondência de elementos repetíveis. Compatível. O modo de correspondência de elementos repetíveis é a semântica predefinida. A sintaxe da cláusula do modo de correspondência de elementos repetíveis explícitos não é suportada.
Consulta (GPML) Funcionalidade G008: cláusula de padrão de gráfico WHERE. Isto implica uma reivindicação de conformidade com a funcionalidade G000: padrão de gráfico. Compatível. Para mais informações, consulte o artigo Padrão de gráfico.
Consulta (GPML) Funcionalidade G034: concatenação de caminhos. Compatível. Para mais informações, consulte o artigo Padrão de gráfico.
Consulta (GPML) Funcionalidade G040: padrão de vértices. Compatível. Para mais informações, consulte o artigo Padrão de elementos.
Consulta (GPML) Funcionalidade G042: padrões básicos de preenchimento total. Compatível. Para mais informações, consulte o artigo Padrão de elementos.
Consulta (GPML) Funcionalidade G070: expressão de etiqueta: disjunção de etiquetas. Compatível. Para mais informações, consulte o artigo Expressão de etiqueta.
Consulta (GPML) Funcionalidade G073: expressão de etiqueta: nome da etiqueta individual. Compatível. Para mais informações, consulte o artigo Expressão de etiqueta.
Consulta (GPML) Funcionalidade G090: referência da propriedade. Compatível.

Suporte de GQL

Standard ID da funcionalidade GQL Gráfico do Spanner
Esquema Feature GG02: gráfico com um tipo de gráfico fechado. Conformidade com, pelo menos, uma das normas GG20, GG21, GG22 ou GG23:
  • Funcionalidade GG20: nomes de tipos de elementos explícitos.
  • Funcionalidade GG21: conjuntos de etiquetas de chaves de tipo de elemento explícitos.
  • Funcionalidade GG22: inferência do conjunto de etiquetas da chave do tipo de elemento.
  • Funcionalidade GG22: inferência do conjunto de etiquetas da chave do tipo de elemento.
  • Funcionalidade GG23: conjuntos de etiquetas de chave do tipo de elemento opcionais.
Compatível. O suporte do GQL pode ser escolhido a partir de GG01: gráfico com um tipo aberto ou GG02.
O Spanner Graph não suporta a mesma declaração CREATE_GRAPH_TYPE que o GQL. No entanto, a declaração CREATE_PROPERTY_GRAPH suportada pelo Spanner Graph está estreitamente relacionada com o GG02 (com suporte semelhante para GG20, GG21, GG22 e GG23).
Estrutura lexical "Uma reivindicação de conformidade com uma versão específica da norma TheUnicode® e as versões síncronas da norma técnica Unicode n.º 10, do anexo n.º 15 da norma Unicode e do anexo n.º 31 da norma Unicode. A versão reivindicada da norma Unicode® não pode ser inferior a 13.0.0." O Spanner Graph GQL partilha a estrutura lexical exata com o GoogleSQL. Para referência aos valores de escape Unicode, consulte o artigo Sequências de escape para literais de string e bytes.
Tipos de dados "Uma reivindicação de conformidade com o conjunto de todos os tipos de valores suportados como os tipos de valores de propriedades. No mínimo, este conjunto deve incluir:
  • O tipo de string de carateres especificado por STRING ou VARCHAR.
  • O tipo booleano especificado por BOOLEAN ou BOOL.
  • O tipo de número inteiro normal assinado 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 dos tipos de dados suportados pelo GQL do Spanner Graph.

Funcionalidades adicionais

As funcionalidades indicadas nas secções anteriores são as funcionalidades de conformidade mínimas das normas. O Spanner Graph suporta funcionalidades adicionais nas normas ISO. Para saber mais, consulte a vista geral do esquema do Spanner Graph e a vista geral do GQL.