Conformidade padrão GQL para grafo no Microsoft Fabric

O Graph no Microsoft Fabric implementa o padrão ISO/IEC 39075:2024 — Tecnologia da informação — linguagens de banco de dados — padrão GQL . Este artigo mapeia o suporte atual do graph em relação à conformidade mínima e aos grupos de recursos opcionais definidos no padrão. Verifique se há atualizações à medida que os recursos são adicionados.

Este artigo de referência destina-se a:

  • Arquitetos empresariais avaliando a cobertura GQL do grafo.
  • Desenvolvedores migrando consultas de outro banco de dados compatível com GQL.
  • Engenheiros validando declarações de conformidade em relação à especificação.

Se você estiver começando a usar o GQL no Fabric, consulte o guia de idioma GQL .

Como ler este artigo

As tabelas neste artigo usam as seguintes convenções:

Nome da Coluna Description
Subclause ou ID de recurso O identificador do padrão GQL. Os recursos mínimos de conformidade usam números de subclausão (por exemplo, 14,4). Os recursos opcionais usam IDs de recurso do Anexo D (por exemplo, G004 ou GQ15).
Recursoou funcionalidade O nome ou a descrição da funcionalidade ou recurso.
Supported Sim , totalmente compatível. Parcial – há suporte para algumas sub-funcionalidades. Não — não há suporte no momento.
Notes Detalhes da implementação, restrições conhecidas ou links para documentação relevante.

Conformidade do modelo de dados

O Graph implementa o modelo de grafo de propriedade rotulado . A tabela a seguir resume o suporte ao modelo de dados.

ID do Recurso Feature Supported Notes
GG02 Grafo com um tipo de grafo fechado Sim O Graph usa tipos de grafo fechados que definem tipos de nó permitidos e tipos de borda.
GG20 Nomes de tipo de elemento explícitos Sim Os tipos de nó e borda são identificados por nomes de rótulo definidos no tipo de grafo.
GG23 Conjuntos de rótulos de chave de tipo de elemento opcional Sim O conjunto de rótulos de chave de um tipo de elemento é o nome do tipo de elemento.
GH02 Bordas não indiretas No Todas as bordas são direcionadas.
GV11, GV12, GV17, GV24, GV31 Tipos de valor de propriedade Sim Para tipos de propriedades de modelos de grafo disponíveis pela experiência de modelagem Fabric, veja Tipos de dados. UINT64 está disponível como um tipo de consulta/valor em tempo de execução, mas não é exposto como um tipo de propriedade de modelo de grafo na interface. GV08, GV21, GV40 e GV07 apresentam nuances — veja a seção GV.

Conformidade mínima

O padrão GQL (Subclause 5.3.7) define a conformidade mínima como suporte para todas as funcionalidades obrigatórias – a sintaxe de linguagem completa e a semântica não fechadas por uma ID de Recurso opcional. A funcionalidade obrigatória dos documentos informativos do Anexo H do padrão. Além da conformidade mínima, uma implementação pode solicitar suporte para zero ou mais recursos opcionais identificados por IDs de recurso no Anexo D do padrão.

Além da funcionalidade obrigatória, o Subclause 24.2 requer que uma declaração de conformidade mínima inclua:

  1. Suporte para pelo menos um dos recursos GC00 ("População de grafo automático") ou GC04 de recurso ("Gerenciamento de grafo"). Consulte a seção GC.
  2. Uma declaração de conformidade com uma versão específica do Unicode (não menor que 13.0.0). As cadeias de caracteres no grafo são Unicode com UCS_BASIC ordenação.
  3. Suporte para, no mínimo, esses tipos de valor de propriedade: STRING (ou VARCHAR), BOOL (ou BOOLEAN), assinado INTEGER (ou INT) e FLOAT.

As tabelas a seguir resumem o estado atual do suporte do graph para funcionalidades obrigatórias, organizadas por área funcional.

Gerenciamento de sessão e transação (Subcláuses 7-8)

Subclássuo Capability Supported Notes
7 Gerenciamento de sessão No
8 Gerenciamento de transações No

Expressões de objeto (Subclause 11)

Subclássuo Capability Supported Notes
11 Expressões de objeto No <graph expression>, <binding table expression>e <object expression primary>CURRENT_GRAPH não há suporte no momento.

Instruções de consulta (Subclause 14)

Subclássuo Capability Supported Notes
14.3 Instrução de consulta linear Sim Encadeamento básico de instruções e composição avançada são NEXT suportados. Cada estágio pode conter uma união de blocos de consulta.
14.3 Especificação de consulta aninhada No O recurso de especificação de consulta aninhada ISO não é suportado. Subconsultas inline CALL e subconsultas de formulário EXISTS de procedimento são recursos suportados separadamente; subconsultas inline CALL podem ser aninhadas.
14,4 Instrução MATCH Sim MATCH com correspondência de padrões.
14,4 Instrução OPTIONAL MATCH Sim OPTIONAL MATCH retorna NULL para variáveis incompatíveis em vez de filtrá-las.
14,9 ORDER BY e instrução de página Sim ORDER BY, OFFSETe LIMIT.
14.10 Instrução de resultado primitivo Sim Com suporte por meio RETURNde .
14.11 Instrução RETURN Sim RETURN com projeções, aliases e GROUP BY.
14.12 Instrução SELECT No Use RETURN em seu lugar.

Enunciados condicionais (Subcláusula 15.4)

Subclássuo Capability Supported Notes
15.4 Sentença condicional pesquisada Sim WHEN, THEN, e ELSE rotear cada linha de entrada para o primeiro desvio correspondente. Essa afirmação não é uma expressão pesquisada CASE .

Padrões de grafo e elementos comuns (Subclause 16)

Subclássuo Capability Supported Notes
16.1 AT cláusula schema No
16.3 Tabela de associação de padrão de grafo Sim Vinculação de caminhos e agregação de listas de grupos.
16.4 Padrão de grafo Sim Padrões anônimos simples, padrões de borda nomeados e padrões compostos com WHERE cláusula.
16.4 Padrões de nós Sim (n:Label) sintaxe com declarações de variável de elemento, expressões de rótulo e especificações de propriedade.
16.4 Padrões de borda (direcionados completos) Sim ->, <-e -[]- padrões de borda direcionados.
16.4 Especificação da propriedade do elemento Sim {key: value} predicados de propriedade embutida.
16.5 Inserir padrão de grafo No Não há suporte para sintaxe GQL INSERT . Os dados do graph são carregados por meio do gerenciamento de dados.
16.7 Expressão de padrão de caminho Sim Padrões de caminho com composição e passagens de comprimento variável.
16.7 Concatenação de caminho Sim Padrões de vários saltos por meio da sintaxe sequencial node-edge-node.
16.8 Expressão de rótulo Sim Expressões de rótulo com & operadores (AND), \| (OR) e ! (NOT).
16,9 Referência de variável de caminho Sim As variáveis de caminho podem ser associadas e retornadas.
16,10 Referência de variável de elemento Sim Variáveis de elemento de nó e borda.
16.13 Cláusula WHERE Sim FILTER instrução e embutida WHERE em predicados de padrão.
16.14 Cláusula YIELD No
16.16 Cláusula ORDER BY Sim ORDER BY com ASC/ASCENDING e DESC/DESCENDING.
16.17 Lista de especificações de classificação Sim Várias chaves de classificação com direção de ordenação.

Predicados (Subclause 19)

Subclássuo Capability Supported Notes
19.3 Predicado de comparação Sim Operadores de comparação: =, , <>, <, >, <=, >=.
19.4 Predicado EXISTS Parcial Subconsultas de formulário EXISTS de procedimento são suportadas. O formulário apenas de padrão gráfico não é suportado.
19.5 Predicado NULL Sim IS NULL e IS NOT NULL.
19.7 Predicado NORMALIZED No No IS [NOT] NORMALIZED momento, não há suporte para o predicado. A NORMALIZE() função tem suporte — consulte Subclause 20.24.

O Graph também suporta as ALLfunções de predicado , ANY, NONE, e SINGLE list como uma extensão específica de linguagem Graph.

Expressões e funções de valor (Subclause 20)

Subclássuo Capability Supported Notes
20.2 Expressão de valor primária Sim Literais, referências variáveis, acesso à propriedade e expressões parênteses.
20.3 Especificação de valor Parcial Há suporte para literais e referências de variáveis. SESSION_USER no momento, não há suporte para especificação de parâmetro dinâmico.
20.7 expressãoCASE Parcial Simples CASE, COALESCE, e NULLIF são suportados. Expressões pesquisadas CASE WHEN não são suportadas atualmente.
20.9 Função agregada Sim COUNT, SUM, AVG, MIN, , e MAX suportam DISTINCT e ALL definem quantificadores e agregados específicos FILTER (WHERE ...) com um opcional LIMIT. Graph também suporta COLLECT_LIST, COLLECT_ONE, e COLLECT_ELEMENTS.
20.11 Referência de propriedade Sim Acesso à propriedade dot-notation em nós e bordas.
20,12 Referência de variável de associação Sim Referências de variável em expressões.
20.20 Expressão de valor booliano Parcial AND, ORNOT há suporte. IS [NOT] TRUE/FALSE/UNKNOWN No momento, não há suporte para testes.
20.21 Expressão de valor numérico Sim Operadores aritméticos: +, , -, *, /.
20.22 Função de valor numérico Parcial CHAR_LENGTH, ABS, POWER, , funções trigonométricas e RANGE são suportadas. O CHARACTER_LENGTH alias e as funções teto, piso, logarítmico, módulo, exponencial e raiz quadrada não são suportados.
20.23 Expressão de valor de cadeia de caracteres Sim Concatenação de cadeia de caracteres com o \|\| operador.
20.24 Função cadeia de caracteres Parcial Compatível UPPERcom Unicode , LOWER, explicit TRIM, e NORMALIZE com NFC ou NFD são suportados. LEFT e RIGHT não há suporte no momento.
20.25 Função de cadeia de caracteres byte No Não há suporte para tipos de cadeia de caracteres de bytes.
20.27 Função de valor datetime Sim CURRENT_TIMESTAMP é suportado. Consulte valores de datetime zoneado.
20.29 Função de valor de duração Parcial DURATION(string) constrói uma duração diurna. Você pode subtrair valores de data-hora zonados para derivar uma duração, mas a DURATION_BETWEEN função atualmente não é suportada.

Tipos de valor (Subclause 24.2)

O Graph dá suporte a todos os quatro tipos de valor de propriedade necessários: BOOL, STRINGassinado INTEGER (64 bits) e FLOAT, além de tipos adicionais. Para obter a referência de tipo completo, consulte valores GQL e tipos de valor.

Elementos léxicos (Subclause 21)

Subclássuo Capability Supported Notes
21.1 Nomes e variáveis Sim Associação de variável com regras de escopo de encaminhamento. Identificadores regulares e delimitados.
21.2 Literals Sim Literais para boolianos, inteiros, números de ponto flutuante, cadeias de caracteres (com escape no estilo C e no estilo SQL) NULLe listas.
21.3 Tokens, separadores, identificadores Sim Regras léxicos GQL padrão.

Conformidade de recurso opcional

Uma ID de Recurso identifica recursos opcionais. Ele começa com "G" seguido por uma letra de grupo e dígitos. As seções a seguir organizam recursos por grupo.

G — Recursos de padrão de grafo

ID do Recurso Feature Supported Notes
G002 Modo de correspondência de bordas diferentes Sim DIFFERENT EDGES e DIFFERENT RELATIONSHIPS reforçar a unicidade das arestas ao longo do padrão completo do grafo.
G003 Palavra-chave explícita REPEATABLE ELEMENTS Sim REPEATABLE ELEMENTS é suportado e é o modo de partida padrão.
G004 Variáveis de caminho Sim Há suporte para associação de variável de caminho.
G005 Prefixo de pesquisa de caminho em um padrão de caminho Sim Prefixos explícitos ALL e ANY SHORTEST prefixos são suportados.
G006 Cláusula de padrão KEEP de grafo: prefixo do modo de caminho No
G007 Cláusula de padrão KEEP de grafo: prefixo de pesquisa de caminho No
G010 Palavra-chave explícita WALK Sim WALK permite nós e arestas repetidos em caminhos pareados e é o modo padrão de caminho.
G011 Modos de caminho avançados: TRAIL Sim TRAIL impede a passagem de borda duplicada.
G012 Modos de caminho avançados: SIMPLE Sim SIMPLE impede a repetição de nós, exceto quando o primeiro e o último nó são iguais. Também evita a repetição das arestas porque a reutilização das arestas repetiria os nós de endpoint.
G013 Modos de caminho avançados: ACYCLIC Sim ACYCLIC impede todos os nós repetidos e, portanto, todas as arestas repetidas.
G014 Palavras-chave explícitas PATH/PATHS Sim Opcionais PATH e PATHS palavras-chave são suportados no modo path e nos prefixos de busca de caminho.
G015 Pesquisa de todos os caminhos: palavra-chave explícita ALL Sim ALL é explicitamente suportado e é a busca padrão de caminhos.
G016 Qualquer pesquisa de caminho No
G017 Toda a pesquisa de caminho mais curta No
G018 Qualquer pesquisa de caminho mais curta Sim ANY SHORTEST retorna um caminho mais curto por par origem-destino de cada linha de entrada. Empates não são determinísticos.
G019 Pesquisa de caminho mais curto contada No
G020 Pesquisa de grupo mais curta contada No
G030 Alternância de vários conjuntos de caminhos No
G031 Alternância de vários conjuntos de caminhos: operandos de caminho de comprimento variável No
G032 União de padrões de caminho No
G033 União de padrões de caminho: operandos de caminho de comprimento variável No
G035 Caminhos quantificados Sim Padrões de comprimento variável limitados com {m,n} sintaxe.
G036 Bordas quantificadas No Há suporte apenas para caminhos quantificados .
G037 Caminhos questionados No
G038 Expressão padrão de caminho parêntese No
G039 Expressão de padrão de caminho simplificado: padrão completo No
G041 Predicados de padrão de elemento não local No Predicados não locais que fazem referência a variáveis fora do elemento padrão atual não têm suporte no momento. Há suporte para predicados locais WHERE em preenchimentos de nó e de borda.
G043 Concluir padrões de borda completa Sim Padrões de borda direcionados completos com -> e <-.
G044 Padrões de borda abreviados básicos Sim Padrões de taquigrafia como ()->() e ()-().
G045 Padrões de borda abreviados completos Sim Atalhos de padrão de borda abreviados para qualquer direção.
G046 Consistência topológica descontraída: padrões de vértice adjacentes No
G047 Consistência topológica descontraída: padrões de borda concisos No
G048 Padrão de caminho parêntese: declaração de variável de subcaminho No
G049 Padrão de caminho parêntese: prefixo do modo de caminho No
G050 Padrão de caminho parêntese: WHERE cláusula No
G051 Padrão de caminho parêntese: predicados não locais No
G060 Quantificadores de padrão de grafo limitado Sim {m,n}, {m}, e {,n} sintaxe. O limite de oito saltos do construtor de consultas visuais, não se aplica ao GQL no editor de código.
G061 Quantificadores de padrões de grafo não associados Parcial {m,}, , e + são suportados por TRAIL, SIMPLE, e ACYCLIC. * Ilimitado ALL WALK é rejeitado. O Unbounded ANY SHORTEST WALK suporta formas específicas de consulta.
G074 Expressão de rótulo: rótulo curinga No No momento, não há suporte para curingas.
G080 Expressão de padrão de caminho simplificada: padrão básico No
G081 Expressão de padrão de caminho simplificado: substituições completas No
G082 Expressão de padrão de caminho simplificado: substituições básicas No
G100 ELEMENT_ID Função Sim ELEMENT_ID retorna o identificador opaco de um nó ou aresta como uma cadeia.
G110 Predicado IS DIRECTED No
G111 Predicado IS LABELED No
G112 IS SOURCE e IS DESTINATION predicado No
G113 Predicado ALL_DIFFERENT No
G114 Predicado SAME No
G115 Predicado PROPERTY_EXISTS No

GA — Recursos gerais

ID do Recurso Feature Supported Notes
GA01 Operações de ponto flutuante IEEE 754 Sim FLOAT64 usa a representação binária 754 binary64 do IEEE. Consulte tipos numéricos aproximados e a codificação de valor da API de Consulta.
GA03 Ordenação explícita de nulos Sim Usar NULLS FIRST ou NULLS LAST com ORDER BY. O padrão é NULLS LAST.
GA04 Comparação universal No O Graph compara a maioria dos valores dos tipos compatíveis, mas ainda não suporta todas as comparações numéricas que o GQL define.
GA05 Especificação de conversão Parcial CAST(value AS target_type) é suportado, incluindo casts entre tipos numéricos exatos, de strings e de lista compatíveis. Atualmente, não há suporte para a conversão de tipo Unicode. Consulte conversões de tipo.
GA06 Predicado de tipo de valor Sim Há suporte para predicados de tipo de valor.
GA07 Ordenação por variáveis de associação descartadas No
GA08 Objetos de status GQL com registros de diagnóstico Parcial Objetos de status, registros de diagnóstico, status adicionais e cadeias de causas são suportados. A API de consulta mapeia valores canônicos GQLSTATUS para um conjunto menor de códigos de status públicos e preserva o valor canônico nos diagnósticos. Veja a referência dos códigos de status e o objeto de status da API de consulta.
GA09 Comparação de caminhos Parcial Igualdade de caminhos e uso de caminhos como chaves de ordenação são suportados. Outros formulários de comparação de caminhos não estão documentados atualmente.

GB — Recursos léxicos

ID do Recurso Feature Supported Notes
GB01 Identificadores longos No
GB02 Comentários de sinal de subtração dupla Sim -- comentários de linha.
GB03 Comentários de solidus duplos Sim // comentários de linha e /* */ comentários de bloco.

GC — Recursos de gerenciamento de catálogo

ID do Recurso Feature Supported Notes
GC01 Gerenciamento de esquema do Graph No
GC02 Gerenciamento de esquema do Graph: IF [NOT] EXISTS No
GC03 Tipo de grafo: IF [NOT] EXISTS No
GC04 Gerenciamento de grafo Parcial CREATE GRAPH há suporte para um tipo de grafo fechado. A GQL não dá suporte DROP GRAPHa . Em vez disso, use a interface do usuário do Fabric ou a API REST .
GC05 Gerenciamento de grafo: IF [NOT] EXISTS No

GD — Recursos de modificação de dados

ID do Recurso Feature Supported Notes
GD01 Gráficos atualizáveis No Carregue e atualize dados de grafo por meio do gerenciamento de dados, não por meio de instruções GQL INSERT/SET/DELETE .
GD02 Alterações no conjunto de rótulos do Graph No
GD03 DELETE instrução: suporte de subconsulta No
GD04 DELETE instrução: suporte a expressões simples No

GE — Recursos de expressão

ID do Recurso Feature Supported Notes
GE01 Expressões de valor de referência do grafo No
GE02 Expressões de valor de referência da tabela de associação No
GE03 Associação de let de variáveis em expressões Sim LET instrução para associação de variável.
GE04 Parâmetros de grafo No
GE05 Parâmetros de tabela de associação No
GE06 Construção do valor do caminho Sim PATH [node, edge, node] construtor para valores de caminho de construção.
GE07 Booleano XOR Sim Disjunção exclusiva com XOR operador.
GE08 Parâmetros de referência No
GE09 Agregação horizontal Sim Agregação horizontal sobre variáveis de lista de grupo de padrões de comprimento variável.

GF — Recursos de função

ID do Recurso Feature Supported Notes
GF01 Funções numéricas aprimoradas Parcial ABS e POWER são suportados. MOD, FLOOR, CEIL, CEILINGe SQRT não têm suporte no momento.
GF02 Funções trigonométricas Sim , , , , , , ACOS, ATAN, SINHCOSHDEGREESTANHe RADIANSsão suportados. ASINCOTTANCOSSIN
GF03 Funções logarítmicas No
GF04 Funções de caminho aprimoradas Sim elements(path), path_length(path)e nodes(path)edges(path) há suporte.
GF05 Função de vários caracteres TRIM No Um valor de corte personalizado deve ser exatamente um byte.
GF06 Função explícita TRIM Sim BOTH, LEADING, e TRAILING especificações de acabamento são suportadas.
GF07 Função de cadeia de caracteres TRIM byte No Não há suporte para tipos de cadeia de caracteres de bytes.
GF10 Funções de agregação avançadas: funções de conjunto geral Parcial COLLECT_LIST, COLLECT_ONE, e COLLECT_ELEMENTS são suportados. STDDEV_POP, STDDEV_SAMPe PRODUCT não há suporte no momento.
GF11 Funções de agregação avançadas: funções de conjunto binário No percentile_cont e percentile_disc não há suporte no momento.
GF12 CARDINALITY Função No Use size(list) em seu lugar.
GF13 SIZE Função Sim size(list) retorna o número de elementos em uma lista.
GF20 Funções de agregação em chaves de classificação No

Extensões de string específicas para grafos incluem CASEFOLD, STRING_JOIN, e as MSFT.REGEXP_* funções. O predicado padrão REGEXP_CONTAINS não é suportado.

GG — Recursos de tipo de grafo

ID do Recurso Feature Supported Notes
GG01 Grafo com um tipo de grafo aberto No Há suporte apenas para tipos de grafo fechados.
GG02 Grafo com um tipo de grafo fechado Sim O padrão. Os tipos de grafo definem os tipos de nó e borda permitidos. Consulte os tipos de grafo GQL.
GG03 Especificação embutida do tipo de grafo Sim Os tipos de nó e borda são especificados embutidos na definição de tipo de grafo.
GG04 Tipo de grafo como um grafo No
GG05 Grafo de uma fonte de grafo No
GG20 Nomes de tipo de elemento explícitos Sim Os rótulos servem como nomes de tipo de elemento.
GG21 Conjuntos de rótulos de chave de tipo de elemento explícito No
GG22 Inferência do conjunto de rótulos de chave de tipo de elemento No
GG23 Conjuntos de rótulos de chave de tipo de elemento opcional Sim O conjunto de rótulos de chave é o nome do tipo de elemento.
GG24 Consistência estrutural descontraída No
GG25 Exclusividade de conjunto de rótulos de chaves descontraída para tipos de borda No
GG26 Consistência de tipo de valor de propriedade descontraída No

GL — Recursos literais

ID do Recurso Feature Supported Notes
GL01 Literais hexadecimal No
GL02 Literais octais No
GL03 Literais binários No
GL04 Número exato em notação comum sem sufixo Sim Literais inteiros como 123456. Veja os tipos numéricos exatos.
GL05 Número exato com sufixo Sim Literais inteiros com sufixos de tipo como 123m.
GL06 Número exato na notação científica com sufixo Sim Por exemplo, 1.25e2m.
GL07 Número aproximado em notação comum com sufixo Parcial Os d sufixos e D são suportados. Os f sufixos e F não são suportados atualmente. Consulte tipos numéricos aproximados.
GL08 Número aproximado na notação científica com sufixo Parcial Notação científica com d ou D é suportada. Os f sufixos e F não são suportados atualmente.
GL09 Sufixo de número de float opcional No
GL10 Sufixo de número duplo opcional No
GL11 Escape de caractere de recusa No
GL12 Formatos de datetime do SQL Sim Formato ISO 8601 até ZONED_DATETIME('...'). Consulte valores de datetime zoneado.

GP — Recursos de procedimento

Chamadas de procedimento inline GP01 são parcialmente suportadas por meio CALL { ... } de e OPTIONAL CALL { ... }. Subconsultas inline importam implicitamente variáveis de escopos que encerram e podem conter instruções aninhadas CALL . Listas explícitas de importação de variáveis, como as CALL (p) { ... } que não são suportadas. Chamadas de procedimento nomeadas e outros recursos de procedimento (GP02–GP18) também não são suportados atualmente.

GQ — Recursos de composição de consulta

ID do Recurso Feature Supported Notes
GQ01 USE cláusula graph No
GQ02 Consulta composta: OTHERWISE No
GQ03 Consulta composta: UNION Sim Exponha UNION e UNION DISTINCT remova linhas duplicadas. UNION ALL preserva-os.
GQ04 Consulta composta: EXCEPT DISTINCT No
GQ05 Consulta composta: EXCEPT ALL No
GQ06 Consulta composta: INTERSECT DISTINCT No
GQ07 Consulta composta: INTERSECT ALL No
GQ08 Instrução FILTER Sim FILTER com WHERE a palavra-chave.
GQ09 Instrução LET Sim LET para variáveis computadas.
GQ10 FOR instrução: suporte a valor de lista Sim A FOR instrução expande os valores da lista em linhas.
GQ11 FOR Declaração: WITH ORDINALITY Sim WITH ORDINALITY oferece uma posição baseada em um único emprego.
GQ12 ORDER BY e instrução de página: OFFSET cláusula Sim OFFSET (também aliased como SKIP).
GQ13 ORDER BY e instrução de página: LIMIT cláusula Sim LIMIT.
GQ14 Expressões complexas em chaves de classificação Sim ORDER BY aceita expressões, incluindo chamadas de função e valores calculados.
GQ15 Cláusula GROUP BY Sim RETURN com GROUP BY.
GQ16 Aliases de pré-projeção em chaves de classificação No
GQ17 Operações de variável de grupo de elementos Sim Com suporte por meio da agregação horizontal.
GQ18 Subconsultas escalares No Atualmente, não há suporte para subconsultas escalares.
GQ19 Cláusula de padrão de grafo YIELD No
GQ20 Composição linear avançada com NEXT Sim NEXT inicia outra etapa de consulta a partir das colunas retornadas pelo estágio anterior. Cada estágio pode conter uma união de blocos de consulta.
GQ21 OPTIONAL: Várias MATCH instruções Sim OPTIONAL MATCH é suportado.
GQ22 EXISTS predicado: várias MATCH instruções Sim Subconsultas de formulário EXISTS de procedimento suportam múltiplas MATCH instruções no corpo da subconsulta.
GQ23 FOR instrução: suporte à tabela de associação No
GQ24 FOR Declaração: WITH OFFSET Sim WITH OFFSET fornece um índice baseado em zero.

GS — Recursos de gerenciamento de sessão

Atualmente, não há suporte para recursos de gerenciamento de sessão GQL (GS01–GS16).

GT — Recursos de gerenciamento de transações

Atualmente, não há suporte para recursos de gerenciamento de transações GQL (GT01–GT03).

GV — Recursos de tipo de valor

ID do Recurso Feature Supported Notes
GV01 Números inteiros sem sinal de 8 bits No
GV02 Números inteiros com sinal de 8 bits No
GV03 Números inteiros sem sinal de 16 bits No
GV04 Números inteiros com sinal de 16 bits No
GV05 Números inteiros sem sinal pequenos No
GV06 Números inteiros sem sinal de 32 bits No
GV07 Números inteiros com sinal de 32 bits No INT32 não tem suporte como um tipo de valor GQL.
GV08 Números inteiros sem sinal regulares Sim UINT Tipo.
GV09 Precisão de número inteiro especificada No
GV10 Números inteiros sem sinal grandes No
GV11 Números inteiros sem sinal de 64 bits Sim UINT64.
GV12 Números inteiros com sinal de 64 bits Sim INT64.
GV13 Números inteiros sem sinal de 128 bits No
GV14 Números inteiros com sinal de 128 bits No
GV15 Números inteiros sem sinal de 256 bits No
GV16 Números inteiros com sinal de 256 bits No
GV18 Números inteiros com sinal pequeno No
GV19 Números inteiros com sinal grande No
GV20 Números de ponto flutuante de 16 bits No
GV21 Números de ponto flutuante de 32 bits No FLOAT em aliases de grafo FLOAT64 (64 bits), não FLOAT32. Consulte tipos numéricos aproximados.
GV22 Precisão de número de ponto flutuante especificado No
GV23 Sinônimos de nome de tipo de ponto flutuante Sim DOUBLE, FLOATe FLOAT64 todos especificam o mesmo tipo.
GV24 Números de ponto flutuante de 64 bits Sim DOUBLE / FLOAT64.
GV25 Números de ponto flutuante de 128 bits No
GV26 Números de ponto flutuante de 256 bits No
GV30 Comprimento mínimo da cadeia de caracteres especificada No
GV31 Comprimento máximo da cadeia de caracteres especificada Sim STRING Tipo.
GV32 Comprimento fixo da cadeia de caracteres especificada No
GV35 Tipos de cadeia de caracteres de bytes No
GV36 Comprimento mínimo da cadeia de caracteres de bytes especificada No
GV37 Comprimento máximo da cadeia de caracteres de bytes especificada No
GV38 Comprimento fixo da cadeia de caracteres de bytes especificada No
GV39 Tipos temporais: data, datetime local e hora local No Não há suporte para DATE, LOCAL DATETIME e LOCAL TIME. Há suporte apenas para ZONED DATETIME.
GV40 Tipos temporais: datetime zoneado e hora zoneada Parcial ZONED DATETIME é suportado. ZONED TIME não há suporte no momento.
GV41 Tipos temporais: duração Sim Há suporte para o tipo de duração.
GV45 Tipos de registro Sim Há suporte para a sintaxe do construtor de registro.
GV46 Tipos de registro fechados No
GV47 Abrir tipos de registro Sim Há suporte para tipos de registro abertos.
GV48 Tipos de registro aninhados No
GV50 Tipos de valor de lista Sim LIST<element_type>. Tipos de lista aninhados (LIST<LIST<type>>) têm suporte. As listas não podem conter tipos mistos.
GV55 Tipos de valor de caminho Sim PATH digite para caminhos correspondentes.
GV60 Tipos de valor de referência de grafo No
GV61 Tipos de valor de referência de tabela de associação No
GV65 Tipos de união dinâmica No
GV66 Abrir tipos de união dinâmica Sim ANY há suporte para o tipo de valor.
GV67 Tipos de união dinâmica fechados No
GV68 Tipos de valor de propriedade dinâmica No
GV70 Tipos de valor imaterial Sim NULL e NOTHING tipos.
GV71 Tipos de valor imaterial: tipo nulo Sim NULL é um membro de cada tipo de valor anulável.
GV72 Tipos de valor imaterial: tipo vazio Sim NOTHING / NULL NOT NULL.
GV90 Nulidade de tipo de valor explícito Sim NOT NULL há suporte para sintaxe para todos os tipos.

GH — Outros recursos

ID do Recurso Feature Supported Notes
GH01 Referências de objeto externo No
GH02 Padrões de borda não redirecionados No O grafo requer bordas direcionadas. Os padrões direcionados (-[]-) correspondem com base na conectividade, independentemente da direção.

Recursos ainda não compatíveis

No momento, não há suporte para os seguintes recursos notáveis. Para obter a lista completa, consulte qualquer linha marcada como Não nas tabelas.

  • SELECT instrução (Subclause 14.12) – use RETURN em vez disso
  • ALL SHORTEST, ANY, e buscas de caminho contadas (G016–G017 e G019–G020)
  • Subconsultas escalares (GQ18)
  • Subconsultas apenas EXISTS com padrão de grafo (Subcláusula 19.4)
  • Funções de teto, piso, logarítmica, módulo, exponencial e raiz quadrada (GF01 e GF03)
  • EXCEPT e INTERSECT instruções (GQ04–GQ07)
  • OTHERWISE instrução (GQ02)
  • Instruções GQL INSERT/SET/DELETE(GD01) – use o gerenciamento de dados
  • Comandos de gerenciamento de sessão e transação (Subcláuses 7-8)