Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Graph dans Microsoft Fabric présente certaines limitations fonctionnelles. Cet article met en évidence certaines limitations clés, mais n’est pas une liste exhaustive. Vérifiez régulièrement les mises à jour.
Pour obtenir de l’aide sur les problèmes courants, consultez le graphique de résolution des problèmes.
Création de modèles de graphe
Sources de données
Les bases de données OneLake et Mirrored Database sont les sources de données prises en charge pour les graphes.
Types de données
Les modèles de graphes prennent en charge les types de valeurs de propriété suivants.
| Type de valeur GQL | Description |
|---|---|
BOOLEAN |
Les valeurs sont true et false. |
INT (ou INT64) |
Les valeurs sont des entiers signés 64 bits. |
DOUBLE (ou FLOAT64) |
Les valeurs sont des nombres IEEE-754 à virgule flottante de 64 bits. |
FLOAT (ou FLOAT32) |
Les valeurs sont des nombres à virgule flottante de 32 bits. |
STRING |
Les valeurs sont des chaînes de caractères Unicode encodées en UTF-8. La taille maximale de la propriété est de 65 535 octets. |
ZONED DATETIME |
Les valeurs sont des horodatages accompagnés d’un décalage de fuseau horaire, avec une précision milliseconde. |
Les types de colonnes OneLake et Delta Lake suivants sont pris en charge pour l’ingestion dans les graphes.
| Type OneLake | Correspondance au type de valeur de propriété GQL |
|---|---|
BooleanType |
BOOLEAN |
ByteType |
INT (ou INT64) |
IntegerType |
INT (ou INT64) |
LongType |
INT (ou INT64) |
FloatType |
DOUBLE (ou FLOAT64) |
DoubleType |
DOUBLE (ou FLOAT64) |
StringType |
STRING |
DateType |
ZONED DATETIME |
TimestampType |
ZONED DATETIME |
TimestampNtzType |
ZONED DATETIME |
Note
Les types complexes ou imbriqués de Delta Lake (MapType et StructType) ne sont pas pris en charge. Vous pouvez analyser les colonnes de chaînes encodées en JSON au moment de la requête en utilisant PARSE_JSON_STRING.
Traitement des graphes et échelle
Les opérations de chargement et de rafraîchissement de graphes peuvent nécessiter un temps de traitement prolongé selon la taille du graphe, le nombre d’éléments du graphe (nœuds et arêtes), et la taille des charges utiles de propriété associées à ces éléments. Les grands graphiques peuvent prendre plusieurs heures à être traités. Si une opération de chargement ou de rafraîchissement de graphe n’a pas été terminée après 24 heures, soumettez une demande de support pour une enquête approfondie.
Les capacités actuelles de traitement des graphes supportent des graphes contenant jusqu’à environ 2 milliards d’éléments de graphes (nœuds et arêtes). La capacité effective peut varier en fonction de la structure du graphe et de la taille de la charge utile de la propriété. Si votre charge de travail devrait dépasser ces limites, contactez le Support Microsoft pour obtenir des conseils.
Colonnes de partition
Les colonnes de partition Delta Lake ont un support limité en tant que propriétés de graphe :
- Les colonnes de partition utilisées comme seule clé primaire sont toujours rejetées.
- Les colonnes de partition générées ne sont pas prises en charge.
- Les types de colonnes de partition complexes et décimales (
Decimal,Binary,Array,Map, etStruct) sont supprimés avec un avertissement.
Modifications de schéma
Les changements de schéma déclenchent un rechargement du graphe.
Querying
Chemins à longueur variable
Le constructeur de chemins Explore UI supporte jusqu’à huit sauts pour des motifs de longueur variable. Cette limite d’interface utilisateur ne s’applique pas aux requêtes GQL saisies dans l’éditeur de code.
Graph prend en charge les ALL préfixes de recherche de chemin et (et ANY SHORTEST path search).
ALL SHORTEST et ANY ne sont pas pris en charge.
Le tableau suivant résume le support GQL à longueur variable :
| Recherche de chemin et mode de chemin | Quantificateur fixe ou borné | Quantificateur non borné |
|---|---|---|
ALL WALK (valeur par défaut) |
Supported | Non supporté car les éléments répétés peuvent produire un nombre infini de chemins. |
ALL TRAIL, ALL SIMPLE ou ALL ACYCLIC |
Supported | C’est supporté, mais le nombre de chemins peut rester important. |
ANY SHORTEST WALK |
Supported | Pris en charge pour une accessibilité simple au point d’accès avec un bord quantifié anonyme entre deux nœuds. Un chemin délimité par cette forme non bornée ne peut être utilisé que par PATH_LENGTH(path) et, parallèlement, path IS NULL; le chemin complet n’est pas matérialisé. Voir Motifs de longueur variable non bornés. |
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE ou ANY SHORTEST ACYCLIC |
Supported | Soutenu. |
Les quantificateurs fixes et bornés sont {n}, {m,n}, et {,n}. Les quantificateurs non bornés sont {m,}, *, et +. Pour plus d’informations, voir les motifs de graphes GQL.
Placement des prédicats de chemin
GQL distingue les prédicats qui contraignent les chemins éligibles des prédicats qui filtrent les chemins après qu’un préfixe de recherche de chemin les ait sélectionnés. Pour certaines ANY SHORTEST formes de requête, Graph peut actuellement appliquer une condition au niveau MATCH ... WHERE de l’instruction avant la sélection du chemin.
Pour rendre explicite l’étape prévue, placez les prédicats d’éligibilité en ligne dans les motifs de nœud ou d’arête. Pour le filtrage post-sélection, utilisez une instruction séparée FILTER après MATCH. Pour des exemples, voir Place les prédicats avant ou après la sélection du chemin.
Filtres à prédicats listés
Les filtres de prédicat par liste ne prennent pas actuellement en charge :
-
EXISTSsous-requêtes. - Agréger les fonctions sur l’élément localement lié. L’agrégation horizontale sur une liste de groupes entourant est prise en charge.
Pour la syntaxe prise en charge et la sémantique des résultats, voir Lister les fonctions de prédicat.
Taille des résultats
Le graphe tronque une réponse à la requête lorsque sa représentation binaire interne dépasse 64 Mo. Graph renvoie les lignes qui correspondent et rapporte un avertissement supplémentaire avec un code 01000 d’état public et un GQLSTATUS 01M11canonique . Les résultats intermédiaires sont plafonnés à 128 Mo.
La réponse n’inclut pas de jeton de continuation pour les lignes omises par troncature. Affinez le résultat avec des filtres, des projections spécifiques, ou LIMIT, puis relancez la requête.
Délai d'expiration
L’exécution de l’API de requête a un délai total de 20 minutes, y compris les requêtes de continuation. Si l’exécution dépasse cette limite, l’API renvoie HTTP 408 avec un code QueryTimeoutd’erreur .
Subqueries
CALL, OPTIONAL CALL, et les sous-requêtes procédures-formes EXISTS sont prises en charge.
Les sous-requêtes en ligne CALL peuvent être imbriquées et importent implicitement des variables à partir des péripéties entourantes. Les appels de procédure nommés, les listes d’importation de variables explicites telles que CALL (p) { ... }, uniquement EXISTSle motif graphique, et les sous-requêtes scalaires (VALUE { ... }) ne sont pas pris en charge.
Fonctions d’agrégation
Les fonctions d’agrégation suivantes sont prises en charge :
-
COUNT,COUNT(*),SUM,AVG,MINetMAX -
COLLECT_LIST,COLLECT_ONEetCOLLECT_ELEMENTS -
DISTINCTVariantes de toutes les fonctions précédentes - Variantes horizontales (rangées par lignes, sur des variables/listes de groupe) de tout ce qui précède
Les fonctions d’agrégation suivantes ne sont pas encore prises en charge :
-
PERCENTILE_CONTetPERCENTILE_DISC -
STDDEV_POPetSTDDEV_SAMP PRODUCT
Définir des opérations
UNION ALL et UNION DISTINCT sont pris en charge.
INTERSECT, EXCEPT, et OTHERWISE ne sont pas encore pris en charge.
Déclarations et clauses GQL prises en charge
Les instructions et clauses GQL de base suivantes sont prises en charge :
-
MATCHetOPTIONAL MATCH -
WHEREFiltres -
LETLiaisons de variables -
FOR ... INdéroulement de liste avec indexation optionnelleORDINALITY -
NEXT, y compris les étapes de requête qui contiennentUNION,UNION DISTINCT, ouUNION ALL -
RETURNetRETURN DISTINCT GROUP BY-
ORDER BYavecNULLS FIRSTouNULLS LAST -
LIMITetOFFSET -
UNION ALLetUNION DISTINCT -
CALL,OPTIONAL CALLetEXISTS -
CASTavec une matrice de conversion de type large - Fonctions scalaires et agrégées prises en charge listées dans les expressions, prédicats et fonctions GQL
Opérations DML et DDL
Les opérations du Langage de Manipulation de Données (DML) telles que INSERT, UPDATE, et DELETE ne sont pas prises en charge via GQL. Les opérations de Langage de Définition de Données (DDL) pour la mutation de schéma ne sont pas prises en charge.
Exportation et visualisation des données
L’exportation des résultats des requêtes de graphe ou des structures de graphe n’est actuellement pas prise en charge.
La connexion Power BI directement à un graphique pour les scénarios de visualisation n'est actuellement pas prise en charge.
Conformité GQL
Pour obtenir un mappage détaillé des fonctionnalités GQL prises en charge par rapport à la norme ISO/IEC 39075:2024, y compris la conformité minimale, les fonctionnalités facultatives par groupe et les fonctionnalités non encore prises en charge, consultez la conformité de la norme GQL.
La conformité aux normes GQL est encore en cours pour les fonctionnalités suivantes.
Contrôle des opérations de flux et d’ensemble
- Déclarations
EXCEPT ALLetEXCEPT DISTINCT - Déclarations
INTERSECT ALLetINTERSECT DISTINCT - Instruction
OTHERWISE
Recherche de chemin et correspondance de motifs
-
ALL SHORTESTRecherche de chemin (non prise en charge) -
ANYRecherche de chemin - Prédicats de modèle non local
- Cohérence topologique détendue
- Caractères génériques
Predicates
- Prédicat du test d’étiquette (
IS LABELED) - Prédicat
IS DIRECTED - Prédicat normalisé
- Prédicat source/destination
- Prédicat
ALL_DIFFERENT - Prédicat
IS DISTINCT - Prédicat
SAME - Prédicat
REGEXP_CONTAINS
Types de valeur d’exécution pris en charge
| Type de valeur d’exécution | Représentation/étendue | Limit |
|---|---|---|
BOOLEAN |
true et false |
|
INT (ou INT64) |
Entier 64 bits signé | |
UINT (ou UINT64) |
Entier 64 bits non signé | |
DOUBLE (ou FLOAT64) |
IEEE-754 binary64 |
Aucun contrôle fini-seulement ; les valeurs non finies sont acceptées |
STRING |
Chaîne Unicode | 65 534 octets (longueur uint16 sur disque) |
ZONED DATETIME |
Millisecondes depuis l’époque Unix plus décalage int32 UTC | Plage int64 millisecondes |
DURATION(DAY TO SECOND) |
Précision en millisecondes | |
NODE |
uint64 raw | |
EDGE |
uint64 raw | |
LIST |
Liste homogène typée | 65 534 éléments (uint16 longueur sur disque) |
RECORD |
Structure des champs typés | |
PATH |
Liste alternée de nœuds et d’arêtes qui commence et se termine toujours par un nœud | 65 534 éléments (uint16 longueur sur disque) |
Types de valeur d’exécution non encore pris en charge
-
INT8,INT16, etINT32types de valeur (INT64est pris en charge) -
FLOAT16etFLOAT32types de valeurs (FLOAT64est pris en charge) -
UINT8,UINT16, etUINT32types de valeur (UINT64est pris en charge) -
ZONED TIMEType de valeur -
DATEtype de valeur en tant que type autonome. Les dates ingérées correspondent à la date et heure zonée. -
LOCAL DATETIMEType de valeur -
LOCAL TIMEType de valeur -
DURATION(YEAR TO MONTH)Type de valeur -
BYTEStype de valeur. L’ingestion est prise en charge, mais le type n’est pas interrogable en tant que propriété stockée. -
VECTORType de valeur
Fonctions et expressions
-
PROPERTIESFonction -
NORMALIZEavec lesNFKCformes etNFKD -
DURATION_BETWEENFonction - Expressions recherchées
CASE WHEN - Sous-requêtes scalaires
- Concaténation des valeurs de chemin d’accès
- Concaténation,
TRIM, et fonctions de longueur - Fonction simple
TRIMavec uneTRIMspécification - Fonction multicaractère
TRIM CARDINALITY
Aggregation
-
PERCENTILE_CONTFonction d’agrégation -
PERCENTILE_DISCFonction d’agrégation -
PRODUCTFonction d’agrégation -
STDDEV_POPFonction d’agrégation -
STDDEV_SAMPFonction d’agrégation
Other
- Passage des paramètres (
$paramspécification dynamique des paramètres) - Utilisateur de session (
SESSION_USER) -
CALLInstruction de procédure nommée -
CALLsous-requêtes avec des listes explicites d’importation de variables - Gestion du catalogue. Les noms des graphes et contraintes sont automatiquement générés.
Catalog
Note
Les noms de graphes et de contraintes sont générés automatiquement et ne peuvent pas être spécifiés dans l’interface utilisateur ni dans le schéma JSON.
| Zone de catalogue | Limite / comportement actuel | Recommendation |
|---|---|---|
| Schéma de graphe | Un type de graphique par catalogue. | |
| Nom du graphe | Doit être non vide ; pas de longueur maximale explicite. | 127 personnages |
| Types de nœuds | Maximum d’environ 2 milliards (espace d’identification int32). | 64 Ko |
| Types d’arêtes | Maximum d’environ 2 milliards (espace d’identification int32). | 64 Ko |
| Étiquettes de nœuds uniques | Un maximum d’environ 2 milliards ; les doublons d’un type sont rejetés. | Dérivé des types de nœuds |
| Étiquettes d’arête uniques | Un maximum d’environ 2 milliards ; les doublons d’un type sont rejetés. | Dérivé des types d’arêtes |
| Noms uniques de propriétés | Un maximum d’environ 2 milliards ; les noms vides et les doublons d’un même type sont rejetés. | 64K x 10 |
| Propriétés par type de nœud | Aucun maximum explicite ; les noms de propriétés en double sont rejetés. | 256 |
| Propriétés par type d’arête | Aucun maximum explicite ; les noms de propriétés en double sont rejetés. | 256 |
| Étiquettes par type de nœud | Aucun maximum explicite ; les étiquettes dupliquées sont rejetées. | 64 |
| Étiquettes par type d’arête | Aucun maximum explicite ; les étiquettes dupliquées sont rejetées. | 64 |
| Propriétés clés par contrainte | Pas de maximum explicite ; les noms des propriétés doivent être non vides. | 16 |
| Longueur du nom de la propriété | Pas explicitement appliqué au-delà du non-vide. | 127 personnages |
| Longueur du nom d’étiquette | Pas explicitement appliqué au-delà du non-vide. | 127 personnages |
| Contraintes de clé d’arête | Désactivé par défaut (allow_edge_key_constraints drapeau). |
≤ le nombre de types d’arêtes |