Conformidad estándar de GQL para graph en Microsoft Fabric

Graph en Microsoft Fabric implementa el estándar ISO/IEC 39075:2024 — Tecnología de la información — Lenguajes de base de datos — GQL estándar. En este artículo se asigna la compatibilidad actual del grafo con respecto a los grupos de características mínimos y opcionales definidos en el estándar. Vuelva a comprobar si hay actualizaciones a medida que se agregan características.

Este artículo de referencia está pensado para:

  • Arquitectos empresariales que evalúan la cobertura de GQL del grafo.
  • Desarrolladores que migran consultas desde otra base de datos compatible con GQL.
  • Ingenieros que validan las notificaciones de conformidad con la especificación.

Si va a empezar a trabajar con GQL en Fabric, consulte la guía del lenguaje GQL en su lugar.

Cómo leer este artículo

Las tablas de este artículo se usan las convenciones siguientes:

Nombre de la columna Description
Subclause o id. de característica Identificador del estándar GQL. Las funcionalidades de conformidad mínima usan números de subclausa (por ejemplo, 14.4). Las características opcionales usan identificadores de características del anexo D (por ejemplo, G004 o GQ15).
Funcionalidad o característica Nombre o descripción de la funcionalidad o característica.
Soportado Sí: totalmente compatible. Parcial : se admiten algunas funcionalidades secundarias. No: no se admite actualmente.
Notes Detalles de implementación, restricciones conocidas o vínculos a la documentación pertinente.

Conformidad del modelo de datos

Graph implementa el modelo de grafo de propiedades etiquetado . En la tabla siguiente se resume la compatibilidad del modelo de datos.

Id. de la característica Feature Compatible Notas
GG02 Gráfico con un tipo de gráfico cerrado Sí Graph usa tipos de grafos cerrados que definen tipos de nodo permitidos y tipos perimetrales.
GG20 Nombres de tipo de elemento explícitos Sí Los tipos de nodo y borde se identifican mediante nombres de etiqueta definidos en el tipo de grafo.
GG23 Conjuntos de etiquetas de clave de tipo de elemento opcionales Sí El conjunto de etiquetas de clave de un tipo de elemento es su nombre de tipo de elemento.
GH02 Bordes sin dirección No Todos los bordes se dirigen.
GV11, GV12, GV17, GV24, GV31 Tipos de valor de propiedad Sí Para los tipos de propiedades de modelos de grafo disponibles a través de la experiencia de modelado Fabric, véase Tipos de datos. UINT64 está disponible como tipo de consulta/valor en tiempo de ejecución pero no se expone como tipo de propiedad de modelo de grafo en la interfaz. GV08, GV21, GV40 y GV07 tienen matices—véase la sección GV.

Conformidad mínima

El estándar GQL (Subclause 5.3.7) define la conformidad mínima como compatibilidad con todas las funciones obligatorias: la sintaxis completa del lenguaje y la semántica no controladas por un identificador de característica opcional. El anexo H informativo de la norma documenta la funcionalidad obligatoria. Además de la conformidad mínima, una implementación puede reclamar la compatibilidad con cero o más características opcionales identificadas por identificadores de características en el Anexo D del estándar.

Además de la funcionalidad obligatoria, Subclause 24.2 requiere que una notificación de conformidad mínima incluya:

  1. Compatibilidad con al menos una de las características GC00 ("Rellenado automático de grafos") o la característica GC04 ("Administración de grafos"). Consulte la sección GC.
  2. Notificación de conformidad con una versión Unicode específica (no inferior a 13.0.0). Las cadenas de caracteres del grafo son Unicode con UCS_BASIC intercalación.
  3. Compatibilidad con al menos estos tipos de valor de propiedad: STRING (o VARCHAR), BOOL (o BOOLEAN), con signo INTEGER (o INT) y FLOAT.

En las tablas siguientes se resume el estado actual de la compatibilidad del grafo con funcionalidades obligatorias, organizadas por área funcional.

Administración de sesiones y transacciones (subclauses 7–8)

Subclause Capability Compatible Notas
7 Administración de sesiones No
8 Administración de transacciones No

Expresiones de objeto (Subclause 11)

Subclause Capability Compatible Notas
11 Expresiones de objeto No <graph expression>Actualmente no se admiten , <binding table expression>, <object expression primary>y CURRENT_GRAPH .

Instrucciones de consulta (Subclause 14)

Subclause Capability Compatible Notas
14.3 Sentencia de consulta lineal Sí Se soportan encadenamientos básicos de sentencias y composición avanzada NEXT . Cada etapa puede contener una unión de bloques de consulta.
14.3 Especificación de consulta anidada No La función de especificación de consulta anidada ISO no es compatible. Las subconsultas en línea CALL y las subconsultas de procedimiento EXISTS son características separadas soportadas; las subconsultas en línea CALL pueden anidarse.
14,4 Instrucción MATCH Sí MATCH con coincidencia de patrones.
14,4 Instrucción OPTIONAL MATCH Sí OPTIONAL MATCH devuelve NULL para variables no coincidentes en lugar de filtrarlas.
14.9 ORDER BY y la instrucción page Sí ORDER BY, OFFSETy LIMIT.
14.10 Instrucción de resultado primitiva Sí Se admite a través de RETURN.
14.11 Instrucción RETURN Sí RETURN con proyecciones, alias y GROUP BY.
14.12 Instrucción SELECT No Utilice RETURN en su lugar.

Sentencias condicionales (Subcláusula 15.4)

Subclause Capability Compatible Notas
15.4 Sentencia condicional buscada Sí WHEN, THEN, y ELSE enrutar cada fila de entrada a la primera rama correspondiente. Esta afirmación no es una expresión que se busque CASE .

Patrones de grafos y elementos comunes (Subclause 16)

Subclause Capability Compatible Notas
16,1 AT cláusula schema No
16.3 Tabla de enlace de patrones de grafos Sí Enlace de caminos y agregación de listas de grupos.
16.4 Patrón de grafo Sí Patrones anónimos simples, patrones perimetrales con nombre y patrones compuestos con WHERE cláusula .
16.4 Patrones de nodo Sí (n:Label) sintaxis con declaraciones de variables de elemento, expresiones de etiqueta y especificaciones de propiedad.
16.4 Patrones perimetrales (dirigidos por completo) Sí ->Patrones de borde dirigidos, , <-y -[]- .
16.4 Especificación de la propiedad Element Sí {key: value} predicados de propiedad insertados.
16.5 Insertar patrón de grafo No No se admite la sintaxis de GQL INSERT . Los datos del grafo se cargan a través de la administración de datos.
16.7 Expresión de patrón path Sí Patrones de ruta de acceso con recorridos de composición y longitud variable.
16.7 Concatenación de ruta de acceso Sí Patrones de varios saltos a través de la sintaxis secuencial de nodos perimetrales.
16.8 Expresión de etiqueta Sí Etiquetas de expresiones con & operadores (AND), \| (OR) y ! (NOT).
16,9 Referencia de variable de ruta de acceso Sí Las variables de ruta de acceso se pueden enlazar y devolver.
16.10 Referencia de variable de elemento Sí Variables de elemento de nodo y perimetral.
16.13 Cláusula WHERE Sí FILTER instrucción e insertada WHERE en predicados de patrón.
16.14 Cláusula YIELD No
16.16 Cláusula ORDER BY Sí ORDER BY con ASC/ASCENDING y DESC/DESCENDING.
16.17 Lista de especificaciones de ordenación Sí Varias claves de ordenación con dirección de ordenación.

Predicados (Subclause 19)

Subclause Capability Compatible Notas
19.3 Predicado de comparación Sí Operadores de comparación: =, <>, <, >, <=, . >=
19.4 EXISTS predicado Parcial Se admiten subconsultas de procedimiento-formulario EXISTS . No se soporta la forma solo de patrones de grafos.
19.5 NULL predicado Sí IS NULL y IS NOT NULL.
19.7 NORMALIZED predicado No El IS [NOT] NORMALIZED predicado no se admite actualmente. La NORMALIZE() función es compatible; consulte Subclause 20.24.

Graph también soporta las ALLfunciones de predicado , ANY, NONE, y SINGLE list como una extensión específica de lenguaje de Graph.

Expresiones y funciones de valor (Subclause 20)

Subclause Capability Compatible Notas
20.2 Expresión de valor principal Sí Literales, referencias de variables, acceso a propiedades y expresiones entre paréntesis.
20.3 Especificación de valor Parcial Se admiten literales y referencias de variables. SESSION_USER Actualmente no se admite la especificación de parámetros dinámicos y .
20.7 Expresión CASE Parcial Simples CASE, COALESCE, y NULLIF están soportados. Actualmente no se soportan expresiones buscadas CASE WHEN .
20.9 Función de agregación Sí COUNT, SUM, AVG, MIN, y MAX soportan DISTINCT y ALL establecen cuantificadores y agregados específicos FILTER (WHERE ...) con un opcional LIMIT. Graph también soporta COLLECT_LIST, COLLECT_ONE, y COLLECT_ELEMENTS.
20.11 Referencia de propiedades Sí Acceso a la propiedad de notación de puntos en nodos y bordes.
20.12 Referencia de variable de enlace Sí Referencias de variables en expresiones.
20.20 Expresión de valor booleano Parcial AND, OR, NOT se admiten. IS [NOT] TRUE/FALSE/UNKNOWN Actualmente no se admiten pruebas.
20.21 Expresión de valor numérico Sí Operadores aritméticos: +, -, *, /.
20.22 Función de valor numérico Parcial CHAR_LENGTH, ABS, POWER, , funciones trigonométricas y RANGE son soportadas. No se soportan alias CHARACTER_LENGTH y funciones de techo, suelo, logarítmico, módulo, exponencial y raíz cuadrada.
20.23 Expresión de valor de cadena Sí Concatenación de cadenas con el \|\| operador .
20.24 Función de cadena de caracteres Parcial Se soportan dispositivos compatibles UPPERcon Unicode , LOWER, explícitos TRIM, y NORMALIZE con NFC o NFD. LEFT y RIGHT no se admiten actualmente.
20.25 Función de cadena de bytes No No se admiten tipos de cadena de bytes.
20.27 Función de valor Datetime Sí CURRENT_TIMESTAMP es compatible. Consulte valores datetime con zona.
20.29 Función de valor de duración Parcial DURATION(string) construye una duración diurna. Puedes restar valores de fechas y hora zonificadas para obtener una duración, pero la DURATION_BETWEEN función actualmente no está soportada.

Tipos de valor (Subclause 24.2)

Graph admite los cuatro tipos de valor de propiedad necesarios: BOOL, , STRINGcon signo INTEGER (64 bits) y FLOAT, además de tipos adicionales. Para obtener la referencia de tipo completo, consulte Los valores de GQL y los tipos de valor.

Elementos léxicos (Subclause 21)

Subclause Capability Compatible Notas
21.1 Nombres y variables Sí Enlace de variables con reglas de ámbito de reenvío. Identificadores normales y delimitados.
21.2 Literals Sí Literales para valores booleanos, enteros, números de punto flotante, cadenas (con escape de estilo C y de estilo SQL), NULLy listas.
21,3 Tokens, separadores, identificadores Sí Reglas léxicas GQL estándar.

Conformidad de características opcionales

Un identificador de característica identifica las características opcionales. Comienza con "G" seguido de una letra de grupo y dígitos. En las secciones siguientes se organizan las características por grupo.

G: características de patrón de grafo

Id. de la característica Feature Compatible Notas
G002 Modo de coincidencia de diferentes bordes Sí DIFFERENT EDGES y DIFFERENT RELATIONSHIPS imponer la unicidad de las aristas a lo largo del patrón completo del grafo.
G003 Palabra clave explícita REPEATABLE ELEMENTS Sí REPEATABLE ELEMENTS es compatible y es el modo de partida por defecto.
G004 Variables de ruta Sí Se admite el enlace de variables de ruta de acceso.
G005 Prefijo de búsqueda de ruta de acceso en un patrón de ruta de acceso Sí Se admiten prefijos explícitos ALL y ANY SHORTEST prefijos.
G006 Cláusula de patrón KEEP de grafo: prefijo del modo de ruta de acceso No
G007 Cláusula de patrón KEEP de grafo: prefijo de búsqueda de ruta de acceso No
G010 Palabra clave explícita WALK Sí WALK permite nodos y aristas repetidos en caminos coincidentes y es el modo de ruta por defecto.
G011 Modos avanzados de ruta de acceso: TRAIL Sí TRAIL evita el recorrido de borde duplicado.
G012 Modos avanzados de ruta de acceso: SIMPLE Sí SIMPLE evita la repetición de nodos salvo cuando el primer y el último nodo son iguales. También evita la repetición de los bordes porque la reutilización de los bordes repetiría los nodos de los extremos.
G013 Modos avanzados de ruta de acceso: ACYCLIC Sí ACYCLIC impide todos los nodos repetidos y, por tanto, todas las aristas repetidas.
G014 Palabras clave explícitas PATH/PATHS Sí Se soportan opciones PATH opcionales y PATHS palabras clave en el modo path y los prefijos de búsqueda de path.
G015 Búsqueda de todas las rutas de acceso: palabra clave explícita ALL Sí ALL está soportado explícitamente y es la búsqueda de rutas por defecto.
G016 Cualquier búsqueda de ruta de acceso No
G017 Búsqueda de la ruta de acceso más corta No
G018 Búsqueda de ruta de acceso más corta Sí ANY SHORTEST devuelve un camino más corto por par origen-destino de cada fila de entrada. Los empates no son deterministas.
G019 Búsqueda de ruta de acceso más corta con recuento No
G020 Búsqueda de grupos más corta con recuento No
G030 Alternancia de varios conjuntos de rutas No
G031 Alternancia de varios conjuntos de rutas de acceso: operandos de ruta de acceso de longitud variable No
G032 Unión de patrones de ruta de acceso No
G033 Unión de patrones de ruta de acceso: operandos de ruta de acceso de longitud variable No
G035 Rutas de acceso cuantificadas Sí Patrones de longitud variable limitadas con {m,n} sintaxis.
G036 Bordes cuantificados No Solo se admiten rutas de acceso cuantificadas .
G037 Rutas de acceso interrogadas No
G038 Expresión de patrón de ruta de acceso entre paréntesis No
G039 Expresión de patrón de ruta de acceso simplificada: valor predeterminado completo No
G041 Predicados de patrón de elementos no locales No Los predicados no locales que hacen referencia a variables fuera del elemento de patrón actual no se admiten actualmente. Se admiten predicados locales WHERE en los rellenos de nodos y bordes.
G043 Completar patrones de borde completo Sí Patrones de borde dirigidos completos con -> y <-.
G044 Patrones de borde abreviados básicos Sí Patrones abreviados como ()->() y ()-().
G045 Patrones de borde abreviados completos Sí Métodos abreviados de patrón de borde para cualquier dirección.
G046 Coherencia topológica relajada: patrones de vértices adyacentes No
G047 Coherencia topológica relajada: patrones de borde concisos No
G048 Patrón de ruta de acceso entre paréntesis: declaración de variable de subpath No
G049 Patrón de ruta de acceso entre paréntesis: prefijo del modo de ruta de acceso No
G050 Patrón de ruta de acceso entre paréntesis: WHERE cláusula No
G051 Patrón de ruta de acceso entre paréntesis: predicados no locales No
G060 Cuantificadores de patrones de grafos enlazados Sí {m,n}, {m}, y {,n} sintaxis. El límite de ocho saltos del creador de consultas visuales no se aplica a GQL en el editor de código.
G061 Cuantificadores de patrones de grafos sin enlazar Parcial {m,}, *, y + están soportados por TRAIL, SIMPLE, y ACYCLIC. Ilimitado ALL WALK es rechazado. Unbounded ANY SHORTEST WALK admite formas específicas de consulta.
G074 Expresión de etiqueta: etiqueta comodín No Actualmente no se admiten caracteres comodín.
G080 Expresión de patrón de ruta de acceso simplificada: configuración predeterminada básica No
G081 Expresión de patrón de ruta de acceso simplificada: invalidaciones completas No
G082 Expresión de patrón de ruta de acceso simplificada: invalidaciones básicas No
G100 ELEMENT_ID Función Sí ELEMENT_ID devuelve el identificador opaco de un nodo o arista como cadena.
G110 IS DIRECTED predicado No
G111 IS LABELED predicado No
G112 IS SOURCE y IS DESTINATION predicado No
G113 ALL_DIFFERENT predicado No
G114 SAME predicado No
G115 PROPERTY_EXISTS predicado No

Disponibilidad general: características generales

Id. de la característica Feature Compatible Notas
GA01 Operaciones de punto flotante IEEE 754 Sí FLOAT64 usa la representación binaria 754 de IEEE 64. Consulte los tipos numéricos aproximados y la codificación de valores de query API.
GA03 Ordenación explícita de valores NULL Sí Use NULLS FIRST o NULLS LAST con ORDER BY. El valor predeterminado es NULLS LAST.
GA04 Comparación universal No Graph compara la mayoría de los valores de tipos compatibles, pero aún no soporta todas las comparaciones numéricas que define GQL.
GA05 Especificación de conversión Parcial CAST(value AS target_type) es compatible, incluyendo casts entre tipos numéricos exactos, de cadenas y de lista compatibles. Actualmente no se admite la conversión de tipos Unicode. Consulte conversiones de tipos.
GA06 Predicado de tipo de valor Sí Se admiten predicados de tipo de valor.
GA07 Ordenar por variables de enlace descartadas No
GA08 Objetos GQL-status con registros de diagnóstico Parcial Se soportan objetos de estado, registros de diagnóstico, estados adicionales y cadenas de causas. La API de consulta asigna valores canónicos GQLSTATUS a un conjunto más pequeño de códigos de estado públicos y conserva el valor canónico en diagnósticos. Consulta la referencia de códigos de estado y el objeto de estado Consultar API.
GA09 Comparación de rutas de acceso Parcial Se soporta la igualdad de caminos y el uso de rutas como claves de ordenación. Actualmente no están documentados otros formularios de comparación de caminos.

GB: características léxicas

Id. de la característica Feature Compatible Notas
GB01 Identificadores largos No
GB02 Comentarios de signo menos doble Sí -- comentarios de línea.
GB03 Comentarios de doble solidus Sí // comentarios de línea y /* */ bloquear comentarios.

GC: características de administración de catálogos

Id. de la característica Feature Compatible Notas
GC01 Administración de esquemas de Grafos No
GC02 Administración de esquemas de grafos: IF [NOT] EXISTS No
GC03 Tipo de grafo: IF [NOT] EXISTS No
GC04 Administración de grafos Parcial CREATE GRAPH con un tipo de grafo cerrado se admite. GQL no admite DROP GRAPH. Use la INTERFAZ de usuario de Fabric o la API REST en su lugar.
GC05 Administración de grafos: IF [NOT] EXISTS No

GD: características de modificación de datos

Id. de la característica Feature Compatible Notas
GD01 Gráficos actualizables No Cargue y actualice los datos del grafo a través de la administración de datos, no a través de instrucciones GQL INSERT/SET/DELETE .
GD02 Cambios en el conjunto de etiquetas de grafo No
GD03 DELETE instrucción: compatibilidad con subconsulta No
GD04 DELETE instrucción: compatibilidad con expresiones simples No

GE: características de expresiones

Id. de la característica Feature Compatible Notas
GE01 Expresiones de valor de referencia de Grafo No
GE02 Expresiones de valor de referencia de tabla de enlace No
GE03 Enlace let de variables en expresiones Sí LET instrucción para el enlace de variables.
GE04 Parámetros de Grafo No
GE05 Enlazar parámetros de tabla No
GE06 Construcción del valor de ruta de acceso Sí PATH [node, edge, node] constructor para compilar valores de ruta de acceso.
GE07 Booleano XOR Sí Disjunción exclusiva con XOR operador.
GE08 Parámetros de referencia No
GE09 Agregación horizontal Sí Agregación horizontal sobre variables de lista de grupos de patrones de longitud variable.

GF: características de función

Id. de la característica Feature Compatible Notas
GF01 Funciones numéricas mejoradas Parcial ABS y POWER son apoyados. MOD FLOORActualmente no se admiten , CEIL, CEILING, y SQRT .
GF02 Funciones trigonométricas Sí , , , , , , ACOS, ATAN, SINHCOSHDEGREESTANHy RADIANSestán soportados. ASINCOTTANCOSSIN
GF03 Funciones logarítmicas No
GF04 Funciones de ruta de acceso mejoradas Sí elements(path)Se admiten , path_length(path), nodes(path)y edges(path) .
GF05 Función de varios caracteres TRIM No Un valor de trim personalizado debe ser exactamente un byte.
GF06 Función explícita TRIM Sí BOTH, LEADING, y TRAILING se soportan las especificaciones de acabado.
GF07 Función de cadena de bytes TRIM No No se admiten tipos de cadena de bytes.
GF10 Funciones de agregado avanzadas: funciones de conjunto general Parcial COLLECT_LIST, COLLECT_ONE, y COLLECT_ELEMENTS están soportados. STDDEV_POPActualmente no se admiten , STDDEV_SAMPy PRODUCT .
GF11 Funciones de agregado avanzadas: funciones de conjunto binario No percentile_cont y percentile_disc no se admiten actualmente.
GF12 CARDINALITY Función No Utilice size(list) en su lugar.
GF13 SIZE Función Sí size(list) devuelve el número de elementos de una lista.
GF20 Funciones de agregado en claves de ordenación No

Las extensiones de cadenas específicas de grafo incluyen CASEFOLD, STRING_JOIN, y las MSFT.REGEXP_* funciones. El predicado estándar REGEXP_CONTAINS no está soportado.

GG: características de tipo de grafo

Id. de la característica Feature Compatible Notas
GG01 Gráfico con un tipo de grafo abierto No Solo se admiten los tipos de grafos cerrados.
GG02 Gráfico con un tipo de gráfico cerrado Sí El valor predeterminado. Los tipos de grafos definen los tipos de nodo y perimetral permitidos. Consulte Tipos de grafos GQL.
GG03 Especificación insertada de tipo de grafo Sí Los tipos de nodo y borde se especifican en línea en la definición de tipo de grafo.
GG04 Tipo de grafo como un grafo No
GG05 Gráfico de un origen de grafo No
GG20 Nombres de tipo de elemento explícitos Sí Las etiquetas sirven como nombres de tipo de elemento.
GG21 Conjuntos de etiquetas de clave de tipo de elemento explícitos No
GG22 Inferencia de conjunto de etiquetas de clave de tipo de elemento No
GG23 Conjuntos de etiquetas de clave de tipo de elemento opcionales Sí El conjunto de etiquetas de clave es el nombre del tipo de elemento.
GG24 Coherencia estructural relajada No
GG25 Unicidad del conjunto de etiquetas de clave relajado para los tipos perimetrales No
GG26 Coherencia del tipo de valor de propiedad relajado No

GL : características literales

Id. de la característica Feature Compatible Notas
GL01 Literales hexadecimales No
GL02 Literales octales No
GL03 Literales binarios No
GL04 Número exacto en notación común sin sufijo Sí Literales enteros como 123456. Consulte tipos numéricos exactos.
GL05 Número exacto con sufijo Sí Literales enteros con sufijos de tipo como 123m.
GL06 Número exacto en notación científica con sufijo Sí Por ejemplo: 1.25e2m.
GL07 Número aproximado en notación común con sufijo Parcial Se admiten los d sufijos y (y D ). Los f sufijos y F no están actualmente soportados. Consulte tipos numéricos aproximados.
GL08 Número aproximado en notación científica con sufijo Parcial Se admite notación científica con d o D o Los f sufijos y F no están actualmente soportados.
GL09 Sufijo de número flotante opcional No
GL10 Sufijo de número doble opcional No
GL11 Exclusión de escape de caracteres No
GL12 Formatos datetime de SQL Sí Formato ISO 8601 a través ZONED_DATETIME('...')de . Consulte valores datetime con zona.

GP: características de procedimiento

Las llamadas a procedimientos en línea GP01 se soportan parcialmente a través de CALL { ... } y OPTIONAL CALL { ... }. Las subconsultas en línea importan implícitamente variables de los ámbitos que encierran y pueden contener sentencias anidadas CALL . No se soportan listas explícitas de importación de variables, como la CALL (p) { ... } de los casos. Las llamadas a procedimientos nombrados y otras funciones de procedimiento (GP02–GP18) tampoco están actualmente soportadas.

GQ: características de composición de consultas

Id. de la característica Feature Compatible Notas
GQ01 USE cláusula graph No
GQ02 Consulta compuesta: OTHERWISE No
GQ03 Consulta compuesta: UNION Sí Desnuda UNION y UNION DISTINCT elimina filas duplicadas. UNION ALL los preserva.
GQ04 Consulta compuesta: EXCEPT DISTINCT No
GQ05 Consulta compuesta: EXCEPT ALL No
GQ06 Consulta compuesta: INTERSECT DISTINCT No
GQ07 Consulta compuesta: INTERSECT ALL No
GQ08 Instrucción FILTER Sí FILTER con WHERE palabra clave.
GQ09 Instrucción LET Sí LET para variables calculadas.
GQ10 FOR instrucción: compatibilidad con valores de lista Sí La FOR sentencia amplía los valores de la lista en filas.
GQ11 FOR instrucción: WITH ORDINALITY Sí WITH ORDINALITY proporciona un puesto basado en un solo puesto.
GQ12 ORDER BY y la instrucción page: OFFSET cláusula Sí OFFSET (también con alias como SKIP).
GQ13 ORDER BY y la instrucción page: LIMIT cláusula Sí LIMIT.
GQ14 Expresiones complejas en claves de ordenación Sí ORDER BY Acepta expresiones, incluyendo llamadas a funciones y valores calculados.
GQ15 Cláusula GROUP BY Sí RETURN con GROUP BY.
GQ16 Alias de proyección previa en claves de ordenación No
GQ17 Operaciones de variables de grupo de elementos Sí Se admite a través de la agregación horizontal.
GQ18 Subconsultas escalares No Actualmente no se admiten subconsultas escalares.
GQ19 Cláusula de patrón YIELD de grafo No
GQ20 Composición lineal avanzada con NEXT Sí NEXT inicia otra etapa de consulta desde las columnas devueltas por la etapa anterior. Cada etapa puede contener una unión de bloques de consulta.
GQ21 OPTIONAL: varias MATCH instrucciones Sí OPTIONAL MATCH es compatible.
GQ22 EXISTS predicado: varias MATCH instrucciones Sí Las subconsultas de procedimiento EXISTS soportan múltiples MATCH sentencias en el cuerpo de la subconsulta.
GQ23 FOR instrucción: compatibilidad con tablas de enlace No
GQ24 FOR instrucción: WITH OFFSET Sí WITH OFFSET proporciona un índice basado en cero.

GS: características de administración de sesiones

Las características de administración de sesiones de GQL (GS01–GS16) no se admiten actualmente.

GT : características de administración de transacciones

Las características de administración de transacciones de GQL (GT01–GT03) no se admiten actualmente.

GV: características de tipo de valor

Id. de la característica Feature Compatible Notas
GV01 Números enteros sin signo de 8 bits No
GV02 Números enteros con signo de 8 bits No
GV03 Números enteros sin signo de 16 bits No
GV04 Números enteros con signo de 16 bits No
GV05 Números enteros sin signo pequeños No
GV06 Números enteros sin signo de 32 bits No
GV07 Números enteros con signo de 32 bits No INT32 no se admite como un tipo de valor GQL.
GV08 Números enteros sin signo normales Sí UINT Escribe.
GV09 Precisión de número entero especificada No
GV10 Números enteros sin signo grandes No
GV11 Números enteros sin signo de 64 bits Sí UINT64.
GV12 Números enteros con signo de 64 bits Sí INT64.
GV13 Números enteros sin signo de 128 bits No
GV14 Números enteros con signo de 128 bits No
GV15 Números enteros sin signo de 256 bits No
GV16 Números enteros con signo de 256 bits No
GV18 Números enteros con signo pequeño No
GV19 Números enteros con signo grande No
GV20 Números de punto flotante de 16 bits No
GV21 Números de punto flotante de 32 bits No FLOAT en alias FLOAT64 de grafo (64 bits), no FLOAT32en . Consulte tipos numéricos aproximados.
GV22 Precisión de número de punto flotante especificada No
GV23 Sinónimos de nombre de tipo de punto flotante Sí DOUBLE, FLOATy FLOAT64 todos especifican el mismo tipo.
GV24 Números de punto flotante de 64 bits Sí DOUBLE / FLOAT64.
GV25 Números de punto flotante de 128 bits No
GV26 Números de punto flotante de 256 bits No
GV30 Longitud mínima de cadena de caracteres especificada No
GV31 Longitud máxima de cadena de caracteres especificada Sí STRING Escribe.
GV32 Longitud fija de cadena de caracteres especificada No
GV35 Tipos de cadena de bytes No
GV36 Longitud mínima de cadena de bytes especificada No
GV37 Longitud máxima de cadena de bytes especificada No
GV38 Longitud fija de cadena de bytes especificada No
GV39 Tipos temporales: fecha, fecha y hora local No No se admiten DATE, LOCAL DATETIME, y LOCAL TIME. Solo ZONED DATETIME es compatible.
GV40 Tipos temporales: datetime con zona y hora con zona Parcial ZONED DATETIME es compatible. ZONED TIME no se admite actualmente.
GV41 Tipos temporales: duración Sí Se admite el tipo de duración.
GV45 Tipos de registro Sí Se admite la sintaxis del constructor de registros.
GV46 Tipos de registros cerrados No
GV47 Tipos de registros abiertos Sí Se admiten los tipos de registro abiertos.
GV48 Tipos de registros anidados No
GV50 Enumerar tipos de valor Sí LIST<element_type>. Se admiten los tipos de lista anidados (LIST<LIST<type>>). Las listas no pueden contener tipos mixtos.
GV55 Tipos de valor de ruta de acceso Sí PATH tipo para rutas de acceso coincidentes.
GV60 Tipos de valor de referencia de grafos No
GV61 Tipos de valor de referencia de tabla de enlace No
GV65 Tipos de unión dinámica No
GV66 Apertura de tipos de unión dinámica Sí ANY se admite el tipo de valor.
GV67 Tipos de unión dinámica cerrados No
GV68 Tipos de valor de propiedad dinámica No
GV70 Tipos de valores inmateriales Sí NULL y NOTHING tipos.
GV71 Tipos de valor inmaterial: tipo NULL Sí NULL es un miembro de cada tipo de valor que acepta valores NULL.
GV72 Tipos de valor inmaterial: tipo vacío Sí NOTHING / NULL NOT NULL.
GV90 Nulabilidad de tipo de valor explícito Sí NOT NULL Se admite la sintaxis para todos los tipos.

GH: otras características

Id. de la característica Feature Compatible Notas
GH01 Referencias a objetos externos No
GH02 Patrones de borde sin dirección No El grafo requiere bordes dirigidos. Cualquier patrón dirigido (-[]-) coincide en función de la conectividad independientemente de la dirección.

Características aún no admitidas

Actualmente no se admiten las siguientes características importantes. Para obtener la lista completa, consulte cualquier fila marcada como No en las tablas.

  • SELECTinstrucción (Subclause 14.12): use en su lugar.RETURN
  • ALL SHORTEST, ANY, y búsquedas de caminos contadas (G016–G017 y G019–G020)
  • Subconsultas escalares (GQ18)
  • Subconsultas solo EXISTS de patrones de grafo (Subcláusula 19.4)
  • Funciones techo, piso, logarítmicas, módulo, exponenciales y raíz cuadrada (GF01 y GF03)
  • EXCEPT instrucciones y INTERSECT (GQ04–GQ07)
  • OTHERWISE instrucción (GQ02)
  • Instrucciones GQL INSERT/SET/DELETE(GD01): use la administración de datos en su lugar.
  • Comandos de transacción y administración de sesiones (subclauses 7–8)