Limitazioni correnti del grafico in Microsoft Fabric

Il grafo in Microsoft Fabric presenta alcune limitazioni funzionali. Questo articolo illustra alcune limitazioni chiave, ma non è un elenco completo. Controllare regolarmente la disponibilità di aggiornamenti.

Per informazioni su problemi comuni, vedere Grafico della risoluzione dei problemi.

Creazione di modelli a grafo

Origini dati

OneLake e Mirrored Database sono le fonti dati supportate per i grafi.

Tipi di dati

I modelli di grafici supportano i seguenti tipi di valore delle proprietà.

Tipo di valore GQL Descrizione
BOOLEAN I valori sono true e false.
INT (o INT64) I valori sono interi con segno a 64 bit.
DOUBLE (o FLOAT64) I valori sono numeri IEEE-754 in virgola mobile a 64 bit.
FLOAT (o FLOAT32) I valori sono numeri in virgola mobile a 32 bit.
STRING I valori sono stringhe di caratteri Unicode codificate in UTF-8. La dimensione massima della proprietà è di 65.535 byte.
ZONED DATETIME I valori sono timestamp insieme a un offset di fuso orario, con precisione di millisecondi.

I seguenti tipi di colonne OneLake e Delta Lake sono supportati per l'ingestione nei grafici.

Tipo OneLake Mappa al tipo di valore della proprietà 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

I tipi complessi o annidati di Delta Lake (MapType e StructType) non sono supportati. Puoi analizzare colonne di stringhe codificate in JSON al momento della query usando PARSE_JSON_STRING.

Elaborazione dei grafi e scala

Le operazioni di caricamento e aggiornamento dei grafi possono richiedere tempi di elaborazione estesi a seconda della dimensione del grafo, del numero di elementi del grafo (nodi e archi) e della dimensione dei payload di proprietà associati a tali elementi. I grafici grandi possono richiedere diverse ore per essere elaborati. Se un'operazione di caricamento o aggiornamento del grafo non è stata completata dopo 24 ore, invia una richiesta di supporto per ulteriori indagini.

Le capacità attuali di elaborazione dei grafi supportano grafi contenenti fino a circa 2 miliardi di elementi di grafo (nodi e archi). La capacità effettiva può variare in base alla struttura del grafo e alla dimensione del carico utile della proprietà. Se il tuo carico di lavoro dovrebbe superare questi limiti, contatta il supporto tecnico Microsoft per avere indicazioni.

Colonne di partizione

Le colonne di partizione di Delta Lake hanno un supporto limitato come proprietà del grafo:

  • Le colonne di partizione usate come unica chiave primaria vengono sempre rifiutate.
  • Le colonne di partizione generate non sono supportate.
  • I tipi di colonne di partizione complessi e decimali (Decimal, Binary, Array, Map, e Struct) vengono eliminati con un avvertimento.

Modifiche agli schemi

I cambiamenti nello schema attivano un ricaricamento del grafo.

Querying

Sentieri a lunghezza variabile

Il path builder Explore UI supporta fino a otto salti per pattern di lunghezza variabile. Questo limite dell'interfaccia utente non si applica alle query GQL inserite nell'editor di codice.

Graph supporta i ALL prefissi di ricerca e ANY SHORTEST percorso. ALL SHORTEST e ANY non sono supportati.

La tabella seguente riassume il supporto GQL a lunghezza variabile:

Ricerca di percorso e modalità di percorso Quantificatore fisso o limitato Quantificatore illimitato
ALL WALK (impostazione predefinita) Supportato Non supportato perché gli elementi ripetuti possono produrre infiniti percorsi.
ALL TRAIL, ALL SIMPLE o ALL ACYCLIC Supportato Supportato, ma il numero di percorsi può comunque essere elevato.
ANY SHORTEST WALK Supportato Supportato per una semplice raggiungibilità degli endpoint con un solo margine anonimo quantificato tra due nodi. Un percorso delimitato da questa forma non limitata può essere usato solo con PATH_LENGTH(path) e, insieme ad essa, path IS NULL; il percorso completo non si materializza. Vedi Pattern a lunghezza variabile illimitata.
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE o ANY SHORTEST ACYCLIC Supportato Supportato.

I quantificatori fissi e limitati sono {n}, {m,n}, e {,n}. I quantificatori illimitati sono {m,}, *, e +. Per maggiori informazioni, vedi i pattern grafici GQL.

Posizionamento del predicato del percorso

GQL distingue i predicati che vincolano i percorsi idonei dai predicati che filtrano i percorsi dopo che un prefisso di ricerca di percorso li seleziona. Per alcune ANY SHORTEST forme di query, Graph può attualmente applicare una condizione a livello MATCH ... WHERE di istruzione prima della selezione del percorso.

Per rendere esplicita la fase prevista, posizionare i predicati di idoneità in linea nei pattern nodi o edge. Per il filtraggio post-selezione, usa un'istruzione separata FILTER dopo MATCH. Per esempi, vedi Posiziona predicati prima o dopo la selezione del percorso.

Filtri a predicati a lista

I filtri a lista di predicati attualmente non supportano:

  • EXISTS sottoquery.
  • Funzioni aggregate sull'elemento legato localmente. È supportata l'aggregazione orizzontale su una lista di gruppi che racchiude.

Per la sintassi supportata e la semantica dei risultati, vedi Elenco delle funzioni predicate.

Dimensioni dei risultati

Graph tronca una risposta alla query quando la sua rappresentazione binaria interna supera i 64 MB. Graph restituisce le righe che corrispondono e riporta un avviso aggiuntivo con codice 01000 di stato pubblico e GQLSTATUS 01M11canonico . I risultati intermedi sono limitati a 128 MB.

La risposta non include un token di continuazione per le righe omesse dalla troncazione. Restringi il risultato con filtri, proiezioni specifiche o LIMIT, e poi esegui di nuovo la query.

Interruzione temporanea

L'esecuzione dell'API di query ha un timeout totale di 20 minuti, incluse le richieste di continuazione. Se l'esecuzione supera questo limite, l'API restituisce HTTP 408 con codice QueryTimeoutdi errore .

Subqueries

CALL, OPTIONAL CALL, e sono supportate sottoquery procedura-modulo EXISTS . Le sottoquery inline CALL possono essere annidate e importare implicitamente variabili da scope che racchiudono. Le chiamate di procedure nominate, liste esplicite di importazione di variabili come CALL (p) { ... }, solo EXISTSpattern grafico , e sottoquery scalari (VALUE { ... }) non sono supportate.

Funzione di aggregazione

Sono supportate le funzioni di aggregazione seguenti:

  • COUNT, COUNT(*), SUM, AVG, MIN e MAX
  • COLLECT_LIST, COLLECT_ONE e COLLECT_ELEMENTS
  • DISTINCT varianti di tutte le funzioni precedenti
  • Varianti orizzontali (riga per riga, su variabili/liste di gruppo) di tutte le opzioni sopra

Le seguenti funzioni di aggregazione non sono ancora supportate:

  • PERCENTILE_CONT e PERCENTILE_DISC
  • STDDEV_POP e STDDEV_SAMP
  • PRODUCT

Impostare le operazioni

UNION ALL e UNION DISTINCT sono supportati. INTERSECT, EXCEPT, e OTHERWISE non sono ancora supportati.

Istruzioni e clausole GQL supportate

Sono supportate le seguenti istruzioni e clausole fondamentali GQL:

  • MATCH e OPTIONAL MATCH
  • WHERE Filtri
  • LET Legami variabili
  • FOR ... INElenco che si srotella con indicizzazione opzionale ORDINALITY
  • NEXT, inclusi gli stadi di query che contengono UNION, UNION DISTINCT, o UNION ALL
  • RETURN e RETURN DISTINCT
  • GROUP BY
  • ORDER BY con NULLS FIRST o NULLS LAST
  • LIMIT e OFFSET
  • UNION ALL e UNION DISTINCT
  • CALL, OPTIONAL CALL e EXISTS
  • CAST con una matrice di conversione di tipo ampia
  • Funzioni scalari e aggregate supportate elencate nelle espressioni, predicati e funzioni GQL

Operazioni DML e DDL

Le operazioni del Data Manipulation Language (DML) come INSERT, UPDATE, e DELETE non sono supportate tramite GQL. Le operazioni del Data Definition Language (DDL) per la mutazione dello schema non sono supportate.

Esportazione e visualizzazione dei dati

L'esportazione dei risultati delle query del grafo o delle strutture del grafo non è attualmente supportata.

La connessione Power BI direttamente a un grafico per gli scenari di visualizzazione non è attualmente supportata.

Conformità GQL

Per un mapping dettagliato delle funzionalità GQL supportate rispetto allo standard ISO/IEC 39075:2024, tra cui conformità minima, funzionalità facoltative per gruppo e funzionalità non ancora supportate, vedere Conformità standard GQL.

La conformità agli standard GQL è ancora in corso per le seguenti funzionalità.

Flusso di controllo e operazioni di insiemi

  • EXCEPT ALListruzioni e EXCEPT DISTINCT
  • INTERSECT ALListruzioni e INTERSECT DISTINCT
  • OTHERWISE istruzione

Ricerca di percorso e abbinamento di pattern

  • ALL SHORTEST Ricerca di percorso (non supportato)
  • ANY Ricerca di percorso
  • Predicati di criteri non locali
  • Coerenza topologica rilassata
  • Caratteri jolly

Predicates

  • Predicato del test dell'etichetta (IS LABELED)
  • predicato IS DIRECTED
  • Predicato normalizzato
  • Predicato di origine/destinazione
  • predicato ALL_DIFFERENT
  • predicato IS DISTINCT
  • predicato SAME
  • predicato REGEXP_CONTAINS

Tipi di valore runtime supportati

Tipo di valore runtime Rappresentazione/estensione Limit
BOOLEAN true e false
INT (o INT64) Intero con segno a 64 bit
UINT (o UINT64) Intero senza segno a 64 bit
DOUBLE (o FLOAT64) IEEE-754 binary64 Nessun controllo solo finito; i valori non finiti sono accettati
STRING Stringa Unicode 65.534 byte (lunghezza uint16 su disco)
ZONED DATETIME Millisecondi dall'epoca Unix più offset int32 UTC Intervallo int64 millisecondi
DURATION(DAY TO SECOND) Precisione in millisecondi
NODE uint64 raw
EDGE uint64 raw
LIST Elenco omogeneo tipizzato 65.534 elementi (uint16 lunghezza su disco)
RECORD Struttura di campi tipizzati
PATH Elenco alternato di nodi e archi che inizia e finisce sempre con un nodo 65.534 elementi (uint16 lunghezza su disco)

Tipi di valore runtime non ancora supportati

  • INT8, INT16, e INT32 i tipi di valore (INT64 è supportato)
  • FLOAT16 e FLOAT32 tipi di valore (FLOAT64 è supportato)
  • UINT8, UINT16, e UINT32 i tipi di valore (UINT64 è supportato)
  • ZONED TIME Tipo di valore
  • DATE Valore Tipo come tipo standalone. Date ingerite che si mappano con la Data-Ora Zonata.
  • LOCAL DATETIME Tipo di valore
  • LOCAL TIME Tipo di valore
  • DURATION(YEAR TO MONTH) Tipo di valore
  • BYTES Tipo di valore. L'ingestione è supportata, ma il tipo non è consultabile come proprietà memorizzata.
  • VECTOR Tipo di valore

Funzioni ed espressioni

  • Funzione PROPERTIES
  • NORMALIZEcon le NFKC forme e NFKD
  • Funzione DURATION_BETWEEN
  • Espressioni ricercate CASE WHEN
  • Sottoquery scalari
  • Concatenazione del valore del percorso
  • Concatenazione della stringa di byte, TRIM, e funzioni di lunghezza
  • Funzione semplice TRIM con una TRIM specifica
  • Funzione multicarattere TRIM
  • CARDINALITY

Aggregation

  • PERCENTILE_CONT funzione di aggregazione
  • PERCENTILE_DISC funzione di aggregazione
  • PRODUCT funzione di aggregazione
  • STDDEV_POP funzione di aggregazione
  • STDDEV_SAMP funzione di aggregazione

Other

  • Passaggio dei parametri ($param specifica dinamica dei parametri)
  • Utente sessione (SESSION_USER)
  • CALL Dichiarazione procedura nominata
  • CALL sottoquery con liste esplicite di importazione variabili
  • Gestione del catalogo. I nomi dei grafi e dei vincoli vengono generati automaticamente.

Catalog

Note

I nomi dei grafi e dei vincoli vengono generati automaticamente e non possono essere specificati né nell'interfaccia né nello schema JSON.

Area del catalogo Limite attuale / comportamento Raccomandazione
Schema del grafo Un tipo di grafico per catalogo.
Nome del grafo Deve essere non vuoto; nessuna lunghezza massima esplicita. 127 personaggi
Tipi di nodo Massimo di circa 2 miliardi (spazio ID int32). 64K
Tipi di spigoli Massimo di circa 2 miliardi (spazio ID int32). 64K
Etichette uniche dei nodi Massimo di circa 2 miliardi; i duplicati all'interno di un tipo vengono rifiutati. Derivati dai tipi di nodo
Etichette uniche dei bordi Massimo di circa 2 miliardi; i duplicati all'interno di un tipo vengono rifiutati. Derivato dai tipi di spigoli
Nomi unici delle proprietà Massimo di circa 2 miliardi; nomi vuoti e duplicati all'interno di un tipo vengono rifiutati. 64K x 10
Proprietà per tipo di nodo Nessun massimo esplicito; i nomi duplicati delle proprietà vengono rifiutati. 256
Proprietà per tipo di arco Nessun massimo esplicito; i nomi duplicati delle proprietà vengono rifiutati. 256
Etichette per tipo di nodo Nessun massimo esplicito; le etichette duplicate vengono rifiutate. 64
Etichette per tipo di spigolo Nessun massimo esplicito; le etichette duplicate vengono rifiutate. 64
Proprietà chiave per vincolo Nessun massimo esplicito; i nomi delle proprietà devono essere non vuoti. 16
Lunghezza del nome della proprietà Non esplicitamente applicato oltre il non-vuoto. 127 personaggi
Lunghezza nome etichetta Non esplicitamente applicato oltre il non-vuoto. 127 personaggi
Vincoli della chiave di bordo Disabilitato di default (allow_edge_key_constraints flag). ≤ il numero di tipi di archi