O Graph no Microsoft Fabric implementa a norma ISO/IEC 39075:2024 — Tecnologias da informação — Linguagens de bases de dados — GQL . Este artigo mapeia o suporte atual do gráfico em relação à conformidade mínima e aos grupos de características opcionais definidos na norma. Volte a consultar para atualizações à medida que forem adicionadas funcionalidades.
Este artigo de referência destina-se a:
- Arquitetos empresariais a avaliar a cobertura GQL dos grafos.
- Desenvolvedores a migrar consultas de outra base de dados compatível com GQL.
- Engenheiros a validar alegações de conformidade contra a especificação.
Se estás a começar com o GQL no Fabric, vê antes o guia da linguagem GQL .
Como ler este artigo
As tabelas neste artigo usam as seguintes convenções:
| Nome da Coluna |
Descrição |
|
ID de subcláusula ou característica |
O identificador do padrão GQL. As capacidades mínimas de conformidade utilizam números de subcláusula (por exemplo, 14.4). As funcionalidades opcionais usam IDs de Funcionalidades do Anexo D (por exemplo, G004 ou GQ15). |
|
Capacidade ou Funcionalidade |
O nome ou descrição da capacidade ou funcionalidade. |
|
Supported |
Sim — totalmente suportado.
Parcial — algumas subcapacidades são suportadas.
Não — atualmente não é suportado. |
|
Notes |
Detalhes da implementação, restrições conhecidas ou ligações para documentação relevante. |
O grafo implementa o modelo de grafo de propriedades rotulado . A tabela seguinte resume o suporte a modelos de dados.
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GG02 |
Grafo com tipo de grafo fechado |
Sim |
O grafo utiliza tipos de grafo fechados que definem tipos de nós permitidos e tipos de arestas. |
| GG20 |
Nomes explícitos dos tipos de elementos |
Sim |
Os tipos de nós e arestas são identificados pelos nomes de rótulos definidos no tipo de grafo. |
| GG23 |
Conjuntos opcionais de etiquetas de chaves de tipo de elemento |
Sim |
O conjunto de etiquetas-chave de um tipo de elemento é o nome do seu tipo de elemento. |
| GH02 |
Arestas não direcionadas |
No |
Todas as arestas são direcionadas. |
| GV11, GV12, GV17, GV24, GV31 |
Tipos de valor das propriedades |
Sim |
Para tipos de propriedades de modelos de grafo disponíveis através da experiência de modelação Fabric, veja Tipos de dados.
UINT64 está disponível como tipo de valor de consulta/runtime, mas não é exposto como um tipo de propriedade de modelo de grafo na interface. GV08, GV21, GV40 e GV07 têm nuances — ver a secção GV. |
A norma GQL (Subcláusula 5.3.7) define conformidade mínima como suporte para toda a funcionalidade obrigatória – a sintaxe e semântica da linguagem completa não bloqueadas por um ID de Funcionalidade opcional. O informativo Anexo H da norma documenta a funcionalidade obrigatória. Para além da conformidade mínima, uma implementação pode reivindicar suporte para zero ou mais funcionalidades opcionais identificadas por IDs de Funcionalidades no Anexo D da norma.
Para além da funcionalidade obrigatória, a Subcláusula 24.2 exige que uma reivindicação mínima de conformidade inclua:
- Suporte para pelo menos uma das funcionalidades GC00 ("População automática de grafos") ou funcionalidade GC04 ("Gestão de grafos"). Veja a secção de GC.
- Uma alegação de conformidade com uma versão específica do Unicode (não inferior à 13.0.0). As cadeias de caracteres no grafo são Unicode com
UCS_BASIC colação.
- Suporte para, no mínimo, estes tipos de valor de propriedade:
STRING (ou VARCHAR), BOOL (ou BOOLEAN), assinado INTEGER (ou INT), e FLOAT.
As tabelas seguintes resumem o estado atual do suporte dos grafos para capacidades obrigatórias, organizado por área funcional.
Gestão de sessões e transações (Subcláusulas 7–8)
| Subcláusula |
Capability |
Suportado |
Notas |
| 7 |
Gestão de sessões |
No |
|
| 8 |
Gestão de transações |
No |
|
Expressões de objeto (Subcláusula 11)
| Subcláusula |
Capability |
Suportado |
Notas |
| 11 |
Expressões de objeto |
No |
<graph expression>, <binding table expression>, <object expression primary>, e CURRENT_GRAPH não são atualmente suportados. |
Instruções de consulta (Subcláusula 14)
| Subcláusula |
Capability |
Suportado |
Notas |
| 14.3 |
Instrução de consulta linear |
Sim |
São suportados encadeamentos básicos de instruções e composição avançada.NEXT Cada estágio pode conter uma união de blocos de consulta. |
| 14.3 |
Especificação de consulta aninhada |
No |
A funcionalidade de especificação de consulta aninhada ISO não é suportada. As subconsultas inline CALL e as subquery de procedimento EXISTS são funcionalidades suportadas separadas; as subconsultas inline CALL podem ser aninhadas. |
| 14.4 |
Declaração MATCH |
Sim |
MATCH com correspondência de padrões. |
| 14.4 |
Declaração OPTIONAL MATCH |
Sim |
OPTIONAL MATCH retornos NULL para variáveis não emparelhadas em vez de as filtrar. |
| 14.9 |
ORDER BY e declaração de página |
Sim |
ORDER BY, OFFSET, e LIMIT. |
| 14.10 |
Instrução de resultado primitiva |
Sim |
Suportado por RETURN. |
| 14.11 |
Declaração RETURN |
Sim |
RETURN com projeções, pseudónimos e GROUP BY. |
| 14.12 |
Declaração SELECT |
No |
Utilize RETURN em substituição. |
Enunciados condicionais (Subcláusula 15.4)
| Subcláusula |
Capability |
Suportado |
Notas |
| 15.4 |
Sentença condicional pesquisada |
Sim |
WHEN, THEN, e ELSE encaminhar cada linha de entrada para o primeiro ramo correspondente. Esta afirmação não é uma expressão procurada CASE . |
Padrões de grafos e elementos comuns (Subcláusula 16)
| Subcláusula |
Capability |
Suportado |
Notas |
| 16.1 |
AT Cláusula de esquema |
No |
|
| 16.3 |
Tabela de encadernação de padrões de grafos |
Sim |
Ligaçã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 arestas 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áveis de elemento, expressões de rótulos e especificações de propriedades. |
| 16,4 |
Padrões de arestas (totalmente direcionados) |
Sim |
->, <-, e -[]- padrões de arestas direcionadas. |
| 16,4 |
Especificação da propriedade do elemento |
Sim |
{key: value} Predicados de propriedade em linha. |
| 16.5 |
Inserir padrão de gráfico |
No |
A sintaxe GQL INSERT não é suportada. Os dados dos grafos são carregados através da gestão de dados. |
| 16.7 |
Expressão do padrão de caminho |
Sim |
Padrões de percurso com composição e travessias de comprimento variável. |
| 16.7 |
Concatenação de caminhos |
Sim |
Padrões de múltiplos saltos através da sintaxe sequencial nó-aresta-nó. |
| 16.8 |
Expressão do rótulo |
Sim |
Rotule expressões com & operadores (AND), \| (OR) e ! (NOT). |
| 16,9 |
Referência da variável de caminho |
Sim |
As variáveis de caminho podem ser limitadas e devolvidas. |
| 16.10 |
Referência de variável de elemento |
Sim |
Variáveis de nós e elementos de aresta. |
| 16.13 |
Cláusula WHERE |
Sim |
FILTER enunciado e em WHERE linha em predicados de padrão. |
| 16.14 |
Cláusula YIELD |
No |
|
| 16.16 |
Cláusula ORDER BY |
Sim |
ORDER BYcom ASC/ASCENDING e .DESC/DESCENDING |
| 16.17 |
Lista de especificações de ordenação |
Sim |
Múltiplas chaves de ordenação com direção de ordenação. |
Predicados (Subcláusula 19)
| Subcláusula |
Capability |
Suportado |
Notas |
| 19.3 |
Predicado de comparação |
Sim |
Operadores de comparação: =, <>, <, >, <=, . >= |
| 19.4 |
EXISTS predicado |
Parcial |
São suportadas subconsultas procedimento-formulário EXISTS . A forma apenas de padrões gráficos não é suportada. |
| 19.5 |
NULL predicado |
Sim |
IS NULL e IS NOT NULL. |
| 19.7 |
NORMALIZED predicado |
No |
O IS [NOT] NORMALIZED predicado não é atualmente suportado. A NORMALIZE() função é suportada — ver Subcláusula 20.24. |
O Graph também suporta as ALLfunções de predicado , ANY, NONE, e SINGLE list como uma extensão de linguagem específica de Graph.
Expressões e funções de valor (Subcláusula 20)
| Subcláusula |
Capability |
Suportado |
Notas |
| 20,2 |
Expressão de valor primária |
Sim |
Literais, referências a variáveis, acesso a propriedades e expressões entre parênteses. |
| 20.3 |
Especificação de valores |
Parcial |
São suportados literais e referências de variáveis.
SESSION_USER e a especificação de parâmetros dinâmicos não são atualmente suportadas. |
| 20.7 |
CASE expressão |
Parcial |
Simples CASE, COALESCE, e NULLIF são suportados. Expressões pesquisadas CASE WHEN não são atualmente suportadas. |
| 20.9 |
Função de agregação |
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 do imóvel |
Sim |
Acesso à propriedade de notação dos pontos em nós e arestas. |
| 20.12 |
Referência de variável de ligação |
Sim |
Referências de variáveis em expressões. |
| 20.20 |
Expressão de valores booleanas |
Parcial |
AND, OR, NOT são suportados.
IS [NOT] TRUE/FALSE/UNKNOWN Os testes não são atualmente suportados. |
| 20.21 |
Expressão numérica de valores |
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 do valor da cadeia |
Sim |
Concatenação de strings com o \|\| operador. |
| 20.24 |
Função da cadeia de caracteres |
Parcial |
Suportam dispositivos com consciência UPPERde Unicode , LOWER, explicit TRIM, e NORMALIZE com NFC ou NFD.
LEFT e RIGHT atualmente não são suportados. |
| 20.25 |
Função cadeia de bytes |
No |
Os tipos de strings de bytes não são suportados. |
| 20.27 |
Função de valor data-hora |
Sim |
CURRENT_TIMESTAMP está suportado. Ver valores de data-hora zonados. |
| 20.29 |
Função de valor de duração |
Parcial |
DURATION(string) constrói uma duração diurna. Podes subtrair valores de data-hora zonados para obter uma duração, mas a DURATION_BETWEEN função não é atualmente suportada. |
Tipos de valor (Subcláusula 24.2)
O Graph suporta os quatro tipos de valor de propriedade necessários: BOOL, STRING, assinado INTEGER (64 bits) e FLOAT, mais tipos adicionais. Para a referência completa do tipo, veja valores GQL e tipos de valor.
Elementos lexicais (Subcláusula 21)
| Subcláusula |
Capability |
Suportado |
Notas |
| 21.1 |
Nomes e variáveis |
Sim |
Vinculação de variáveis com regras de escopo futuro. Identificadores regulares e delimitados. |
| 21.2 |
Literais |
Sim |
Literais para booleanos, inteiros, números de ponto flutuante, cadeias (com escape em estilo C e SQL), NULLe listas. |
| 21,3 |
Tokens, separadores, identificadores |
Sim |
Regras lexicais padrão do GQL. |
Um ID de Funcionalidade identifica as funcionalidades opcionais. Começa com "G" seguido de uma letra de grupo e dígitos. As secções seguintes organizam as características por grupo.
G — Características do padrão gráfico
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| G002 |
Modo de jogo com arestas diferentes |
Sim |
DIFFERENT EDGES e DIFFERENT RELATIONSHIPS impor 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 jogo predefinido. |
| G004 |
Variáveis de caminho |
Sim |
É suportada a ligação de variáveis de caminho . |
| G005 |
Prefixo de pesquisa de caminho num padrão de caminho |
Sim |
São suportados prefixos explícitos ALL e ANY SHORTEST prefixos. |
| G006 |
Cláusula de padrão KEEP de grafo: prefixo de 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 repetidas em caminhos correspondentes e é o modo de caminho padrão. |
| G011 |
Modos avançados de percurso: TRAIL |
Sim |
TRAIL impede a travessia duplicada das arestas. |
| G012 |
Modos avançados de percurso: SIMPLE |
Sim |
SIMPLE impede a repetição de nós, exceto quando o primeiro e o último nó são iguais. Também previne arestas repetidas porque a reutilização de arestas repetiria os nós de endpoint. |
| G013 |
Modos avançados de percurso: 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 suportadas no modo path e nos prefixos de path search. |
| G015 |
Pesquisa por todos os caminhos: palavra-chave explícita ALL |
Sim |
ALL é suportado explicitamente e é a pesquisa de caminho por defeito. |
| G016 |
Qualquer pesquisa de caminho |
No |
|
| G017 |
Todas as pesquisas por caminhos mais curtos |
No |
|
| G018 |
Qualquer pesquisa por caminho mais curto |
Sim |
ANY SHORTEST devolve um caminho mais curto por par origem-destino de cada linha de entrada. Empates não são determinísticos. |
| G019 |
Pesquisa do caminho mais curto contado |
No |
|
| G020 |
Pesquisa de grupo mais curta contada |
No |
|
| G030 |
Alternância de múltiplos conjuntos de caminho |
No |
|
| G031 |
Alternância de múltiplos 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 caminhos: operandos de caminho de comprimento variável |
No |
|
| G035 |
Caminhos quantificados |
Sim |
Padrões limitados de comprimento variável com {m,n} sintaxe. |
| G036 |
Arestas quantificadas |
No |
Apenas caminhos quantificados são suportados. |
| G037 |
Caminhos questionados |
No |
|
| G038 |
Expressão do padrão de caminho entre parênteses |
No |
|
| G039 |
Expressão simplificada do padrão de caminhos: predefinição total |
No |
|
| G041 |
Predicados de padrão elemental não local |
No |
Predicados não locais que referenciam variáveis fora do elemento do padrão atual não são atualmente suportados. São suportados predicados locais WHERE em preenchimentos de nós e de aresta. |
| G043 |
Padrões completos de arestas completas |
Sim |
Padrões de arestas totalmente direcionadas com -> e <-. |
| G044 |
Padrões básicos de arestas abreviadas |
Sim |
Padrões abreviados como ()->() e ()-(). |
| G045 |
Padrões completos abreviados de arestas |
Sim |
Atalhos abreviados de padrão de borda para qualquer direção. |
| G046 |
Consistência topológica relaxada: padrões de vértices adjacentes |
No |
|
| G047 |
Consistência topológica relaxada: padrões de arestas concisos |
No |
|
| G048 |
Padrão de caminho entre parênteses: declaração de variável de subcaminho |
No |
|
| G049 |
Padrão de caminho entre parênteses: prefixo de modo de caminho |
No |
|
| G050 |
Padrão de caminho entre parênteses: WHERE cláusula |
No |
|
| G051 |
Padrão de caminho entre parênteses: predicados não locais |
No |
|
| G060 |
Quantificadores de padrão de gráfico delimitado |
Sim |
{m,n}, {m}, e {,n} sintaxe. O limite de oito saltos do construtor visual de consultas não se aplica ao GQL no editor de código. |
| G061 |
Quantificadores de padrões gráficos ilimitados |
Parcial |
{m,}, , e + são suportados por TRAIL, SIMPLE, e ACYCLIC. * Ilimitado ALL WALK é rejeitado. O Unbounded ANY SHORTEST WALK suporta formas de consulta específicas. |
| G074 |
Expressão do rótulo: rótulo coringa |
No |
Os Wildcards não são atualmente suportados. |
| G080 |
Expressão simplificada do padrão de caminhos: padrão básico |
No |
|
| G081 |
Expressão simplificada do padrão de caminhos: sobreposições completas |
No |
|
| G082 |
Expressão simplificada do padrão de caminho: sobreposições básicas |
No |
|
| G100 |
ELEMENT_ID Função |
Sim |
ELEMENT_ID devolve o identificador opaco de um nó ou aresta como uma cadeia. |
| G110 |
IS DIRECTED predicado |
No |
|
| G111 |
IS LABELED predicado |
No |
|
| G112 |
IS SOURCE e IS DESTINATION predicado |
No |
|
| G113 |
ALL_DIFFERENT predicado |
No |
|
| G114 |
SAME predicado |
No |
|
| G115 |
PROPERTY_EXISTS predicado |
No |
|
GA — Características gerais
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GA01 |
Operações em ponto flutuante IEEE 754 |
Sim |
FLOAT64 utiliza a representação binária IEEE 754. Ver tipos numéricos aproximados e a codificação de valores da API de consulta. |
| GA03 |
Ordenação explícita dos nulos |
Sim |
Usar NULLS FIRST ou NULLS LAST com ORDER BY. A predefiniçã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 do fundido |
Parcial |
CAST(value AS target_type) é suportado, incluindo casts entre tipos numéricos, de strings e de lista exatos compatíveis. O casting de tipos Unicode não é atualmente suportado. Ver conversões de tipos. |
| GA06 |
Predicado do tipo de valor |
Sim |
São suportados predicados de tipo valor. |
| GA07 |
Ordenação por variáveis de ligação descartadas |
No |
|
| GA08 |
Objetos de estado GQL com registos de diagnóstico |
Parcial |
São suportados objetos de estado, registos de diagnóstico, estados adicionais e cadeias de causas. A API de consulta mapeia valores canónicos GQLSTATUS para um conjunto menor de códigos de estado públicos e preserva o valor canónico nos diagnósticos. Consulte a referência dos códigos de estado e o objeto de estado Query API. |
| GA09 |
Comparação de caminhos |
Parcial |
A igualdade de caminhos e o uso de caminhos como chaves de ordenação são suportados. Outros formulários de comparação de caminhos não estão atualmente documentados. |
GB — Características lexicais
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GB01 |
Identificadores longos |
No |
|
| GB02 |
Comentários sobre o signo duplo menos |
Sim |
-- Comentários da linha. |
| GB03 |
Comentários sobre Double Solidus |
Sim |
// Escrever comentários e /* */ bloquear comentários. |
GC — Funcionalidades de gestão de catálogos
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GC01 |
Gestão de esquemas de grafos |
No |
|
| GC02 |
Gestão de esquemas de grafos: IF [NOT] EXISTS |
No |
|
| GC03 |
Tipo de grafo: IF [NOT] EXISTS |
No |
|
| GC04 |
Gestão de grafos |
Parcial |
CREATE GRAPH com um tipo de grafo fechado é suportado. A GQL não suporta DROP GRAPH. Usa antes a interface do Fabric ou a API REST . |
| GC05 |
Gestão de grafos: IF [NOT] EXISTS |
No |
|
GD — Funcionalidades de modificação de dados
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GD01 |
Gráficos atualizáveis |
No |
Carregue e atualize os dados dos grafos através da gestão de dados, não através de instruções GQL INSERT/SET/DELETE . |
| GD02 |
Alterações no conjunto de rótulos de grafo |
No |
|
| GD03 |
DELETE Instrução: suporte a subquery |
No |
|
| GD04 |
DELETE Afirmação: Suporte de Expressões Simples |
No |
|
GE — Funcionalidades de expressão
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GE01 |
Expressões de valores de referência em grafos |
No |
|
| GE02 |
Expressões de valores de referência da tabela de ligação |
No |
|
| GE03 |
Ligação let de variáveis em expressões |
Sim |
LET Instrução para ligação de variáveis. |
| GE04 |
Parâmetros do grafo |
No |
|
| GE05 |
Parâmetros da tabela de ligação |
No |
|
| GE06 |
Construção do valor do percurso |
Sim |
PATH [node, edge, node] construtor para construir valores de caminhos. |
| GE07 |
Booleano XOR |
Sim |
Disjunção exclusiva com XOR o operador. |
| GE08 |
Parâmetros de referência |
No |
|
| GE09 |
Agregação horizontal |
Sim |
Agregação horizontal sobre variáveis de lista de grupos a partir de padrões de comprimento variável. |
GF — Funcionalidades funcionais
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GF01 |
Funções numéricas melhoradas |
Parcial |
ABS e POWER são suportados.
MOD, FLOOR, CEIL, CEILING, e SQRT atualmente não são suportadas. |
| GF02 |
Funções trigonométricas |
Sim |
SIN, COS, TAN, COT, ASIN, ACOS, COSHSINHTANHATANDEGREES, e RADIANS são suportados. |
| GF03 |
Funções logarítmicas |
No |
|
| GF04 |
Funções de caminho melhoradas |
Sim |
elements(path), path_length(path), nodes(path), e edges(path) são suportados. |
| GF05 |
Função multi-carácter TRIM |
No |
Um valor de trim personalizado deve ser exatamente um byte. |
| GF06 |
Função explícita TRIM |
Sim |
BOTH, LEADING, e TRAILING as especificações de acabamento são suportadas. |
| GF07 |
Função cadeia TRIM de bytes |
No |
Os tipos de strings de bytes não são suportados. |
| GF10 |
Funções agregadas avançadas: funções gerais de conjunto |
Parcial |
COLLECT_LIST, COLLECT_ONE, e COLLECT_ELEMENTS são suportadas.
STDDEV_POP, STDDEV_SAMP, e PRODUCT atualmente não são suportadas. |
| GF11 |
Funções agregadas avançadas: funções binárias de conjuntos |
No |
percentile_cont e percentile_disc atualmente não são suportados. |
| GF12 |
CARDINALITY Função |
No |
Utilize size(list) em substituição. |
| GF13 |
SIZE Função |
Sim |
size(list) devolve o número de elementos numa lista. |
| GF20 |
Funções agregadas em chaves de ordenação |
No |
|
Extensões de cadeias específicas de grafo incluem CASEFOLD, STRING_JOIN, e as MSFT.REGEXP_* funções. O predicado padrão REGEXP_CONTAINS não é suportado.
GG — Características do tipo gráfico
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GG01 |
Grafo com tipo de grafo aberto |
No |
Apenas tipos de grafos fechados são suportados. |
| GG02 |
Grafo com tipo de grafo fechado |
Sim |
O padrão. Os tipos de grafo definem tipos permitidos de nós e arestas. Ver tipos de grafos GQL. |
| GG03 |
Especificação em linha do tipo de grafo |
Sim |
Os tipos de nós e arestas são especificados em linha na definição de tipo de grafo. |
| GG04 |
Tipo de grafo como grafo |
No |
|
| GG05 |
Grafo a partir de uma fonte de grafo |
No |
|
| GG20 |
Nomes explícitos dos tipos de elementos |
Sim |
As etiquetas servem como nomes dos tipos de elementos. |
| GG21 |
Conjuntos explícitos de etiquetas de chaves de tipo de elemento |
No |
|
| GG22 |
Inferência do conjunto de etiquetas de chave de tipo de elemento |
No |
|
| GG23 |
Conjuntos opcionais de etiquetas de chaves de tipo de elemento |
Sim |
O conjunto de etiquetas de chave é o nome do tipo de elemento. |
| GG24 |
Consistência estrutural relaxada |
No |
|
| GG25 |
Unicidade do conjunto de etiquetas de chaves relaxadas para tipos de arestas |
No |
|
| GG26 |
Consistência relaxada do tipo de valor da propriedade |
No |
|
GL — Características literais
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GL01 |
Literais hexadecimais |
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. Ver tipos numéricos exatos. |
| GL05 |
Número exato com sufixo |
Sim |
Literais inteiros com sufixos de tipo como 123m. |
| GL06 |
Número exato em 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 atualmente suportados. Ver tipos numéricos aproximados. |
| GL08 |
Número aproximado em notação científica com sufixo |
Parcial |
A notação científica com d ou D é suportada. Os f sufixos e F não são atualmente suportados. |
| GL09 |
Sufixo opcional do número flutuante |
No |
|
| GL10 |
Sufixo numérico duplo opcional |
No |
|
| GL11 |
Personagem que opt-out escapa |
No |
|
| GL12 |
Formatos de data e hora SQL |
Sim |
ISO 8601 até ZONED_DATETIME('...'). Ver valores de data-hora zonados. |
GP — Características do procedimento
As chamadas de procedimentos em linha GP01 são parcialmente suportadas através de CALL { ... } e OPTIONAL CALL { ... }. As subconsultas inline importam implicitamente variáveis a partir de escopos envolventes e podem conter instruções aninhadas CALL . Listas explícitas de importação de variáveis, como a CALL (p) { ... } , não são suportadas. Chamadas de procedimentos nomeadas e outras funcionalidades de procedimento (GP02–GP18) também não são atualmente suportadas.
GQ — Funcionalidades de composição de consultas
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GQ01 |
USE cláusula grafo |
No |
|
| GQ02 |
Consulta composta: OTHERWISE |
No |
|
| GQ03 |
Consulta composta: UNION |
Sim |
Despida UNION e UNION DISTINCT remove as linhas duplicadas.
UNION ALL preserva-as. |
| 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 |
Declaração FILTER |
Sim |
FILTER com WHERE palavra-chave. |
| GQ09 |
Declaração LET |
Sim |
LET para variáveis calculadas. |
| GQ10 |
FOR Declaração: Suporte de 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 numa única posição. |
| GQ12 |
ORDER BY e declaração de página: OFFSET cláusula |
Sim |
OFFSET (também apelidoso como SKIP). |
| GQ13 |
ORDER BY e declaração de página: LIMIT cláusula |
Sim |
LIMIT. |
| GQ14 |
Expressões complexas em chaves de ordenaçã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 |
Pré-pseudónimos de pré-projeção em chaves de ordenação |
No |
|
| GQ17 |
Operações de variável de grupo elemento a elemento |
Sim |
Suportado por agregação horizontal. |
| GQ18 |
Subconsultas escalares |
No |
As subconsultas escalares não são atualmente suportadas. |
| GQ19 |
Cláusula de padrão YIELD de grafo |
No |
|
| GQ20 |
Composição linear avançada com NEXT |
Sim |
NEXT inicia outra fase de consulta a partir das colunas devolvidas pela etapa anterior. Cada estágio pode conter uma união de blocos de consulta. |
| GQ21 |
OPTIONAL: Múltiplas MATCH afirmações |
Sim |
OPTIONAL MATCH está suportado. |
| GQ22 |
EXISTS predicado: múltiplas MATCH afirmações |
Sim |
As subconsultas de formulário EXISTS de procedimento suportam múltiplas MATCH instruções no corpo da subconsulta. |
| GQ23 |
FOR Instrução: Suporte de Tabela Vinculativa |
No |
|
| GQ24 |
FOR Declaração: WITH OFFSET |
Sim |
WITH OFFSET fornece um índice baseado em zero. |
GS — Funcionalidades de gestão de sessões
As funcionalidades de gestão de sessões GQL (GS01–GS16) não são atualmente suportadas.
GT — Funcionalidades de gestão de transações
As funcionalidades de gestão de transações GQL (GT01–GT03) não são atualmente suportadas.
GV — Características do tipo Valor
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| 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 pequenos sem sinal |
No |
|
| GV06 |
Números inteiros sem sinal de 32 bits |
No |
|
| GV07 |
Números inteiros com sinal de 32 bits |
No |
INT32 não é suportado como um tipo de valor GQL. |
| GV08 |
Números inteiros regulares sem sinal |
Sim |
UINT Tipo. |
| GV09 |
Precisão dos números inteiros especificados |
No |
|
| GV10 |
Grandes números inteiros sem sinal |
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 assinados de 128 bits |
No |
|
| GV15 |
Números inteiros sem sinal de 256 bits |
No |
|
| GV16 |
Números inteiros assinados de 256 bits |
No |
|
| GV18 |
Números inteiros pequenos com sinal |
No |
|
| GV19 |
Números inteiros com grande sinal |
No |
|
| GV20 |
Números em vírgula flutuante de 16 bits |
No |
|
| GV21 |
Números de vírgula flutuante de 32 bits |
No |
FLOAT em alias FLOAT64 de grafos (64 bits), não FLOAT32. Ver tipos numéricos aproximados. |
| GV22 |
Precisão especificada em número de ponto flutuante |
No |
|
| GV23 |
Sinónimos de nomes de tipo em ponto flutuante |
Sim |
DOUBLE, FLOATe FLOAT64 todos especificam o mesmo tipo. |
| GV24 |
Números de vírgula flutuante de 64 bits |
Sim |
DOUBLE
/
FLOAT64. |
| GV25 |
Números de vírgula flutuante de 128 bits |
No |
|
| GV26 |
Números de vírgula flutuante de 256 bits |
No |
|
| GV30 |
Comprimento mínimo especificado da cadeia de caracteres |
No |
|
| GV31 |
Comprimento máximo especificado da cadeia de caracteres |
Sim |
STRING Tipo. |
| GV32 |
Comprimento fixo da cadeia de caracteres especificada |
No |
|
| GV35 |
Tipos de cadeias de bytes |
No |
|
| GV36 |
Comprimento mínimo especificado da cadeia de bytes |
No |
|
| GV37 |
Comprimento máximo especificado da cadeia de bytes |
No |
|
| GV38 |
Comprimento fixo da cadeia de bytes especificada |
No |
|
| GV39 |
Tipos temporais: data, data-hora local e hora local |
No |
DATE, LOCAL DATETIMEe LOCAL TIME não são suportados. Só o ZONED DATETIME é suportado. |
| GV40 |
Tipos temporais: data-hora zonificada e hora zonificada |
Parcial |
ZONED DATETIME está suportado.
ZONED TIME atualmente não é suportado. |
| GV41 |
Tipos temporais: duração |
Sim |
O tipo de duração é suportado. |
| GV45 |
Tipos de registo |
Sim |
A sintaxe do construtor de registo é suportada. |
| GV46 |
Tipos de registo fechado |
No |
|
| GV47 |
Tipos de registo aberto |
Sim |
São suportados tipos de registo aberto. |
| GV48 |
Tipos de registo aninhados |
No |
|
| GV50 |
Tipos de valores de lista |
Sim |
LIST<element_type>. São suportados tipos de listas aninhadas (LIST<LIST<type>>). As listas não podem conter tipos mistos. |
| GV55 |
Tipos de valor de caminho |
Sim |
PATH Escreve para caminhos combinados. |
| GV60 |
Tipos de valores de referência em grafos |
No |
|
| GV61 |
Tipos de valores de referência da tabela de ligação |
No |
|
| GV65 |
Tipos de união dinâmica |
No |
|
| GV66 |
Tipos de união dinâmica aberta |
Sim |
ANY O tipo de valor é suportado. |
| GV67 |
Tipos de união dinâmica fechada |
No |
|
| GV68 |
Tipos dinâmicos de valor de propriedade |
No |
|
| GV70 |
Tipos de valor imaterial |
Sim |
NULL e NOTHING tipos. |
| GV71 |
Tipos de valor imaterial: tipo nulo |
Sim |
NULL é membro de todos os tipos de valor nulo. |
| GV72 |
Tipos de valor imaterial: tipo vazio |
Sim |
NOTHING
/
NULL NOT NULL. |
| GV90 |
Anulabilidade explícita do tipo de valor |
Sim |
NOT NULL A sintaxe é suportada para todos os tipos. |
GH — Outras funcionalidades
| ID de Funcionalidade |
Feature |
Suportado |
Notas |
| GH01 |
Referências externas a objetos |
No |
|
| GH02 |
Padrões de borda não direcionados |
No |
O grafo requer arestas dirigidas. Padrões qualquer dirigido (-[]-) correspondem com base na conectividade, independentemente da direção. |
Funcionalidades ainda não suportadas
As seguintes funcionalidades notáveis não são atualmente suportadas. Para a lista completa, consulte qualquer linha marcada como Não nas tabelas.
-
SELECT Instrução (Subcláusula 14.12) — usar RETURN em vez disso
-
ALL SHORTEST, ANY, e pesquisas de caminho contadas (G016–G017 e G019–G020)
- Subconsultas escalares (GQ18)
- Subconsultas apenas
EXISTS para padrões de grafo (Subcláusula 19.4)
- Funções teto, piso, logarítmica, módulo, exponencial e raiz quadrada (GF01 e GF03)
-
EXCEPT e INTERSECT afirmações (GQ04–GQ07)
-
OTHERWISE Enunciado (GQ02)
- Instruções GQL
INSERT/SET/DELETE(GD01) — utilize a gestão de dados em vez disso
- Comandos de gestão de sessão e transações (Subcláusulas 7–8)
Conteúdo relacionado