Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Graph en Microsoft Fabric tiene ciertas limitaciones funcionales. En este artículo se resaltan algunas limitaciones clave, pero no se trata de una lista exhaustiva. Vuelva a comprobar periódicamente si hay actualizaciones.
Para obtener ayuda con problemas comunes, consulte Gráfico de solución de problemas.
Creación de modelos de grafos
Orígenes de datos
OneLake y Mirrored Databases son las fuentes de datos soportadas para grafos.
Tipos de datos
Los modelos de grafos soportan los siguientes tipos de valor de propiedad.
| Tipo de valor GQL | Descripción |
|---|---|
BOOLEAN |
Los valores son true y false. |
INT (o INT64) |
Los valores son enteros con signo de 64 bits. |
DOUBLE (o FLOAT64) |
Los valores son números de coma flotante IEEE-754 de 64 bits. |
FLOAT (o FLOAT32) |
Los valores son números de coma flotante de 32 bits. |
STRING |
Los valores son cadenas de caracteres Unicode codificadas en UTF-8. El tamaño máximo de propiedad es de 65.535 bytes. |
ZONED DATETIME |
Los valores son marcas de tiempo junto con un desplazamiento de zona horaria, con precisión milisegundo. |
Los siguientes tipos de columnas OneLake y Delta Lake están soportados para la ingestión en grafos.
| Tipo OneLake | Mapeados al tipo de valor de propiedad GQL |
|---|---|
BooleanType |
BOOLEAN |
ByteType |
INT (o INT64) |
IntegerType |
INT (o INT64) |
LongType |
INT (o INT64) |
FloatType |
DOUBLE (o FLOAT64) |
DoubleType |
DOUBLE (o FLOAT64) |
StringType |
STRING |
DateType |
ZONED DATETIME |
TimestampType |
ZONED DATETIME |
TimestampNtzType |
ZONED DATETIME |
Note
No se soportan tipos complejos o anidados de Delta Lake (MapType y StructType). Puedes analizar columnas de cadenas codificadas en JSON en tiempo de consulta usando PARSE_JSON_STRING.
Procesamiento de grafos y escala
Las operaciones de carga y refresco de grafos pueden requerir un tiempo de procesamiento extendido dependiendo del tamaño del grafo, el número de elementos del grafo (nodos y aristas) y el tamaño de las cargas útiles de propiedades asociadas a esos elementos. Los gráficos grandes pueden tardar varias horas en procesarse. Si no se ha completado una operación de carga o actualización de grafos tras 24 horas, presenta una solicitud de soporte para una investigación adicional.
Las capacidades actuales de procesamiento de grafos soportan grafos que contienen hasta aproximadamente 2.000 millones de elementos de grafo (nodos y aristas). La capacidad efectiva puede variar en función de la estructura del grafo y el tamaño de la carga útil de la propiedad. Si se espera que tu carga de trabajo supere estos límites, contacta con el Soporte técnico de Microsoft para recibir orientación.
Columnas de partición
Las columnas de partición de Delta Lake tienen un soporte limitado como propiedades de grafo:
- Las columnas de partición utilizadas como única clave primaria siempre son rechazadas.
- No se admiten columnas de partición generadas.
- Los tipos complejos y decimales de columnas de particiones (
Decimal,Binary,Array,Map, yStruct) se eliminan con una advertencia.
Cambios en los esquemas
Los cambios en el esquema provocan una recarga del grafo.
Querying
Caminos de longitud variable
El creador de caminos Explore UI soporta hasta ocho saltos para patrones de longitud variable. Este límite de interfaz de usuario no se aplica a consultas GQL introducidas en el editor de código.
Graph soporta los ALL prefijos de búsqueda de caminos y ANY SHORTEST y (path search). No se admiten ALL SHORTEST ni ANY.
La siguiente tabla resume el soporte GQL de longitud variable:
| Búsqueda de caminos y modo de ruta | Cuantificador fijo o acotado | Cuantificador no acotado |
|---|---|---|
ALL WALK (valor predeterminado) |
Supported | No está soportado porque los elementos repetidos pueden producir infinitos caminos. |
ALL TRAIL, ALL SIMPLE o ALL ACYCLIC |
Supported | Está soportado, pero el número de caminos puede seguir siendo grande. |
ANY SHORTEST WALK |
Supported | Compatible con una simple accesibilidad al punto final con un solo borde cuantificado anónimo entre dos nodos. Un camino limitado por esta forma no acotada solo puede usarse con PATH_LENGTH(path) y, junto a ella, path IS NULL; el camino completo no se materializa. Véase Patrones de longitud variable ilimitados. |
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE o ANY SHORTEST ACYCLIC |
Supported | Supported. |
Los cuantificadores fijos y acotados son {n}, {m,n}, y {,n}. Los cuantificadores no acotados son {m,}, *, y +. Para más información, véase Patrones de gráficos GQL.
Colocación de predicados de camino
GQL distingue predicados que restringen caminos elegibles de predicados que filtran caminos tras seleccionarlos por un prefijo de búsqueda de caminos. Para algunas ANY SHORTEST formas de consulta, Graph puede aplicar actualmente una condición a nivel MATCH ... WHERE de instrucción antes de la selección de camino.
Para hacer explícita la etapa prevista, coloca los predicados de elegibilidad en línea en patrones de nodos o aristas. Para el filtrado posterior a la selección, utiliza una sentencia separada FILTER después MATCHde . Para ejemplos, véase Colocar predicados antes o después de la selección de caminos.
Filtros de predicados de lista
Los filtros de predicados de lista actualmente no soportan:
-
EXISTSsubconsultas. - Agrega funciones sobre el elemento localmente ligado. Se soporta la agregación horizontal sobre una lista de grupos que encierra.
Para la sintaxis soportada y la semántica de resultados, véase Listar funciones predicadas.
Tamaño de los resultados
Graph trunca una respuesta de consulta cuando su representación binaria interna supera los 64 MB. Graph devuelve las filas que encajan y reporta una advertencia adicional con código 01000 de estado público y GQLSTATUS 01M11canónico . Los resultados intermedios están limitados a 128 MB.
La respuesta no incluye un token de continuación para las filas omitidas por truncamiento. Reduce el resultado con filtros, proyecciones específicas o LIMIT, y luego ejecuta la consulta de nuevo.
Timeout
La ejecución de la API de consulta tiene un tiempo de espera total de 20 minutos, incluyendo las solicitudes de continuación. Si la ejecución supera este límite, la API devuelve HTTP 408 con código QueryTimeoutde error .
Subqueries
CALL, OPTIONAL CALL, y se admiten subconsultas de procedimiento-formulario EXISTS .
Las subconsultas en línea CALL pueden anidarse e importar implícitamente variables de los ámbitos que lo encierran. No se soportan llamadas a procedimientos con nombre, listas explícitas de importación de variables como CALL (p) { ... }, solo EXISTSpatrón de grafo , y subconsultas escalares (VALUE { ... }).
Funciones de agregación
Se admiten las siguientes funciones de agregación:
-
COUNT,COUNT(*),SUM,AVG,MINyMAX -
COLLECT_LIST,COLLECT_ONEyCOLLECT_ELEMENTS -
DISTINCTvariantes de todas las funciones anteriores - Variantes horizontales (por filas, sobre variables/listas de grupo) de todo lo anterior
Las siguientes funciones de agregación aún no están soportadas:
-
PERCENTILE_CONTyPERCENTILE_DISC -
STDDEV_POPySTDDEV_SAMP PRODUCT
Operaciones de conjunto
UNION ALL y UNION DISTINCT son compatibles.
INTERSECT, EXCEPT, y OTHERWISE aún no están soportadas.
Sentencias y cláusulas GQL soportadas
Se soportan las siguientes sentencias y cláusulas clave de GQL:
-
MATCHyOPTIONAL MATCH -
WHEREFiltros -
LETEnlaces de variables -
FOR ... INDesenrollado de lista con indexación opcionalORDINALITY -
NEXT, incluyendo etapas de consulta que contienenUNION,UNION DISTINCT, oUNION ALL -
RETURNyRETURN DISTINCT GROUP BY-
ORDER BYconNULLS FIRSToNULLS LAST -
LIMITyOFFSET -
UNION ALLyUNION DISTINCT -
CALL,OPTIONAL CALLyEXISTS -
CASTcon una matriz de conversión de tipos amplia - Funciones escalares y agregadas soportadas listadas en expresiones, predicados y funciones GQL
Operaciones DML y DDL
Las operaciones del Lenguaje de Manipulación de Datos (DML) como INSERT, UPDATE, y DELETE no son compatibles con GQL. No se admiten operaciones de Lenguaje de Definición de Datos (DDL) para mutación de esquemas.
Exportación y visualización de datos
Actualmente no se admite la exportación de resultados de consulta de grafos ni estructuras de grafos.
Actualmente no se admite la conexión Power BI directamente a un gráfico para escenarios de visualización.
Conformidad con GQL
Para obtener una asignación detallada de las características de GQL compatibles con el estándar ISO/IEC 39075:2024, incluida la conformidad mínima, las características opcionales por grupo y las características aún no admitidas, consulte Conformidad estándar de GQL.
La conformidad con los estándares GQL aún está en proceso para las siguientes características.
Control de flujo y operaciones de conjunto
- sentencias
EXCEPT ALLyEXCEPT DISTINCT - sentencias
INTERSECT ALLyINTERSECT DISTINCT - Instrucción
OTHERWISE
Búsqueda de caminos y coincidencia de patrones
-
ALL SHORTESTBúsqueda de rutas (no soportada) -
ANYBúsqueda de rutas - Predicados de patrón no local
- Coherencia topológica relajada
- Caracteres comodín
Predicates
- Predicado de la prueba de etiquetas (
IS LABELED) -
IS DIRECTEDpredicado - Predicado normalizado
- Predicado de origen/destino
-
ALL_DIFFERENTpredicado -
IS DISTINCTpredicado -
SAMEpredicado -
REGEXP_CONTAINSpredicado
Tipos de valor en tiempo de ejecución soportados
| Tipo de valor en tiempo de ejecución | Representación/rango | Limit |
|---|---|---|
BOOLEAN |
true y false |
|
INT (o INT64) |
Entero de 64 bits firmado | |
UINT (o UINT64) |
Entero de 64 bits sin signo | |
DOUBLE (o FLOAT64) |
IEEE-754 binary64 |
No hay comprobación solo finita; se aceptan valores no finitos |
STRING |
Cadena Unicode | 65.534 bytes (longitud en disco uint16) |
ZONED DATETIME |
Milisegundos desde la época Unix más el desfase int32 UTC | Rango de INT64 milisegundos |
DURATION(DAY TO SECOND) |
Precisión en milisegundos | |
NODE |
uint64 raw | |
EDGE |
uint64 raw | |
LIST |
Lista tipada homogénea | 65.534 elementos (uint16 longitud en disco) |
RECORD |
Estructura de campos tipados | |
PATH |
Lista alterna de nodos y aristas que siempre empieza y termina con un nodo | 65.534 elementos (uint16 longitud en disco) |
Tipos de valor en tiempo de ejecución aún no soportados
-
INT8,INT16, yINT32tipos de valor (INT64es soportado) -
FLOAT16yFLOAT32tipos de valor (FLOAT64es compatible) -
UINT8,UINT16, yUINT32tipos de valor (UINT64es soportado) -
ZONED TIMETipo de valor -
DATETipo de valor como tipo independiente. Las fechas ingeridas se corresponden con la Fecha Hora Zonificada. -
LOCAL DATETIMETipo de valor -
LOCAL TIMETipo de valor -
DURATION(YEAR TO MONTH)Tipo de valor -
BYTESTipo de valor. La ingesta está soportada, pero el tipo no puede consultarse como propiedad almacenada. -
VECTORTipo de valor
Funciones y expresiones
-
PROPERTIESFunción -
NORMALIZEcon lasNFKCformas yNFKD -
DURATION_BETWEENFunción - Expresiones buscadas
CASE WHEN - Subconsultas escalares
- Concatenación de valores de ruta de acceso
- Concatenación de cadenas de bytes,
TRIMy funciones de longitud - Función simple
TRIMcon unaTRIMespecificación - Función multicarácter
TRIM CARDINALITY
Aggregation
-
PERCENTILE_CONT(función de agregación) -
PERCENTILE_DISC(función de agregación) -
PRODUCT(función de agregación) -
STDDEV_POP(función de agregación) -
STDDEV_SAMP(función de agregación)
Other
- Paso de parámetros (
$paramespecificación dinámica de parámetros) - Usuario de sesión (
SESSION_USER) -
CALLSentencia de procedimiento nombrado -
CALLSubconsultas con listas explícitas de importación de variables - Gestión de catálogos. Los nombres de grafos y restricciones se generan automáticamente.
Catalog
Note
Los nombres de grafos y restricciones se generan automáticamente y no pueden especificarse ni en la interfaz ni en el esquema JSON.
| Área del catálogo | Límite actual / comportamiento | Recommendation |
|---|---|---|
| Esquema de grafo | Un tipo de gráfico por catálogo. | |
| Nombre del grafo | Debe ser no vacío; no hay longitud máxima explícita. | 127 caracteres |
| Tipos de nodo | Máximo de aproximadamente 2.000 millones (espacio de identificación int32). | 64K |
| Tipos perimetrales | Máximo de aproximadamente 2.000 millones (espacio de identificación int32). | 64K |
| Etiquetas de nodo únicas | Un máximo de aproximadamente 2.000 millones; los duplicados dentro de un tipo son rechazados. | Derivado de tipos de nodos |
| Etiquetas de aristas únicas | Un máximo de aproximadamente 2.000 millones; los duplicados dentro de un tipo son rechazados. | Derivado de tipos de aristas |
| Nombres únicos de propiedades | Un máximo de aproximadamente 2.000 millones; se rechazan los nombres vacíos y duplicados dentro de un mismo tipo. | 64K x 10 |
| Propiedades por tipo de nodo | No hay un máximo explícito; los nombres duplicados de propiedades son rechazados. | 256 |
| Propiedades por tipo de arista | No hay un máximo explícito; los nombres duplicados de propiedades son rechazados. | 256 |
| Etiquetas por tipo de nodo | No hay un máximo explícito; se rechazan etiquetas duplicadas. | 64 |
| Etiquetas por tipo de arista | No hay un máximo explícito; se rechazan etiquetas duplicadas. | 64 |
| Propiedades clave por restricción | No hay un máximo explícito; los nombres de las propiedades deben ser no vacíos. | 16 |
| Longitud del nombre de la propiedad | No se aplica explícitamente más allá de lo no vacío. | 127 caracteres |
| Longitud del nombre de etiqueta | No se aplica explícitamente más allá de lo no vacío. | 127 caracteres |
| Restricciones de clave de borde | Desactivado por defecto (allow_edge_key_constraints bandera). |
≤ el número de tipos de aristas |