Conformité standard GQL pour le graphe dans Microsoft Fabric

Graph dans Microsoft Fabric implémente la norme ISO/IEC 39075:2024 — Technologie de l’information — Langages de base de données — Norme GQL . Cet article mappe la prise en charge actuelle du graphe par rapport à la conformité minimale et aux groupes de fonctionnalités facultatifs définis dans la norme. Vérifiez les mises à jour à mesure que les fonctionnalités sont ajoutées.

Cet article de référence est destiné à :

  • Architectes d’entreprise évaluant la couverture GQL du graphique.
  • Développeurs qui migrent des requêtes à partir d’une autre base de données conforme À GQL.
  • Ingénieurs validant les revendications de conformité par rapport à la spécification.

Si vous commencez à utiliser GQL dans Fabric, consultez le guide de langage GQL à la place.

Lecture de cet article

Les tables de cet article utilisent les conventions suivantes :

Nom de la colonne Description
Sous-menu ou ID de fonctionnalité Identificateur de la norme GQL. Les fonctionnalités de conformité minimales utilisent des nombres de sous-fichiers (par exemple, 14,4). Les fonctionnalités facultatives utilisent des ID de fonctionnalité de l’annexe D (par exemple, G004 ou GQ15).
Fonctionnalité ou fonctionnalité Nom ou description de la fonctionnalité ou de la fonctionnalité.
Pris en charge Oui , entièrement pris en charge. Partielle : certaines sous-fonctionnalités sont prises en charge. Non , pas actuellement pris en charge.
Notes Détails de l’implémentation, contraintes connues ou liens vers la documentation pertinente.

Conformité du modèle de données

Graph implémente le modèle graphique de propriété étiqueté . Le tableau suivant récapitule la prise en charge du modèle de données.

ID de la fonctionnalité Feature Supported Notes
GG02 Graphique avec un type de graphe fermé Oui Graph utilise des types de graphiques fermés qui définissent les types de nœuds autorisés et les types de bord.
GG20 Noms de types d’éléments explicites Oui Les types de nœuds et de bord sont identifiés par les noms d’étiquettes définis dans le type de graphique.
GG23 Ensembles d’étiquettes de clé de type d’élément facultatifs Oui Le jeu d’étiquettes de clé d’un type d’élément est son nom de type d’élément.
GH02 Bords non dirigés Non Tous les bords sont dirigés.
GV11, GV12, GV17, GV24, GV31 Types de valeurs de propriété Oui Pour les types de propriétés de modèles de graphes disponibles via l’expérience de modélisation Fabric, voir Types de données. UINT64 est disponible en tant que type de requête/valeur d’exécution mais n’est pas exposé comme type de propriété de modèle graphe dans l’interface utilisateur. GV08, GV21, GV40 et GV07 présentent des nuances — voir la section GV.

Conformité minimale

La norme GQL (Subclause 5.3.7) définit la conformité minimale comme prise en charge de toutes les fonctionnalités obligatoires , la syntaxe et la sémantique du langage complet non contrôlées par un ID de fonctionnalité facultatif. La fonctionnalité obligatoire de l’annexe H de la norme documente les documents obligatoires. Outre la conformité minimale, une implémentation peut revendiquer la prise en charge de zéro ou plusieurs fonctionnalités facultatives identifiées par les ID de fonctionnalité dans l’annexe D de la norme.

En plus des fonctionnalités obligatoires, Subclause 24.2 exige qu’une revendication de conformité minimale soit la suivante :

  1. Prise en charge d’au moins l’une des fonctionnalités GC00 (« Remplissage automatique des graphiques ») ou de Fonctionnalité GC04 (« Gestion des graphes »). Consultez la section GC.
  2. Revendication de conformité à une version Unicode spécifique (pas moins de 13.0.0). Les chaînes de caractères dans le graphique sont Unicode avec UCS_BASIC classement.
  3. Prise en charge d’au minimum ces types de valeurs de propriété : STRING (ou VARCHAR), BOOL signé BOOLEANINTEGER (ou INT) et FLOAT.

Les tableaux suivants résument l’état actuel de la prise en charge du graphique pour les fonctionnalités obligatoires, organisées par zone fonctionnelle.

Gestion des sessions et des transactions (Subclauses 7 à 8)

Paragraphe Capability Supported Notes
7 Gestion des sessions Non
8 Gestion des transactions Non

Expressions d’objet (Subclause 11)

Paragraphe Capability Supported Notes
11 Expressions d'objet Non <graph expression>, , <binding table expression><object expression primary>et CURRENT_GRAPH ne sont pas actuellement pris en charge.

Instructions de requête (Subclause 14)

Paragraphe Capability Supported Notes
14.3 Requête linéaire Oui La chaîne d’instructions de base et la composition avancée avec NEXT sont prises en charge. Chaque étape peut contenir une union de blocs de requête.
14.3 Spécification de requête imbriquée Non La fonction de spécification de requête imbriquée ISO n’est pas prise en charge. Les sous-requêtes en ligne CALL et les sous-requêtes en forme EXISTS de procédure sont des fonctionnalités prises en charge séparément ; les sous-requêtes en CALL ligne peuvent être imbriquées.
14.4 Instruction MATCH Oui MATCH avec des critères correspondants.
14.4 Instruction OPTIONAL MATCH Oui OPTIONAL MATCH retourne NULL des variables sans correspondance au lieu de les filtrer.
14.9 ORDER BY et instruction de page Oui ORDER BY ,OFFSET et LIMIT.
14.10 Instruction de résultat primitif Oui Prise en charge par le biais RETURNde .
14.11 Instruction RETURN Oui RETURN avec des projections, des alias et GROUP BY.
14.12 Instruction SELECT Non Utilisez RETURN à la place.

Énoncés conditionnels (sous-clause 15.4)

Paragraphe Capability Supported Notes
15.4 Déclaration conditionnelle recherchée Oui WHEN, THEN, et ELSE acheminer chaque ligne d’entrée vers la première branche correspondante. Cette affirmation n’est pas une expression recherchée CASE .

Modèles graphiques et éléments communs (Subclause 16)

Paragraphe Capability Supported Notes
16,1 AT clause de schéma Non
16.3 Tableau de liaison de modèle de graphique Oui Liaison de chemins et agrégation de listes de groupes.
16.4 Modèle graphique Oui Modèles anonymes simples, modèles de bord nommés et modèles composés avec WHERE clause.
16.4 Modèles de nœud Oui (n:Label) syntaxe avec des déclarations de variables d’élément, des expressions d’étiquette et des spécifications de propriété.
16.4 Modèles de périphérie (dirigés complets) Oui ->, <-et -[]- modèles de bord dirigés.
16.4 Spécification de propriété d’élément Oui {key: value} prédicats de propriété inline.
16.5 Insérer un modèle de graphique Non La syntaxe GQL INSERT n’est pas prise en charge. Les données de graphe sont chargées par le biais de la gestion des données.
16.7 Expression de modèle de chemin d’accès Oui Modèles de chemin avec des traversées de composition et de longueur variable.
16.7 Concaténation de chemin d’accès Oui Modèles à plusieurs tronçons par le biais d’une syntaxe séquentielle de nœud-edge-nœud.
16.8 Expression d’étiquette Oui Étiqueter des expressions avec & des opérateurs (AND), \| (OR) et ! (NOT).
16,9 Informations de référence sur les variables de chemin d’accès Oui Les variables de chemin d’accès peuvent être liées et retournées.
16,10 Informations de référence sur les variables d’élément Oui Variables d’élément node et edge.
16.13 Clause WHERE Oui FILTER instruction et inline WHERE dans les prédicats de modèle.
16.14 Clause YIELD Non
16.16 Clause ORDER BY Oui ORDER BY avec ASC/ASCENDING et DESC/DESCENDING.
16.17 Liste des spécifications de tri Oui Plusieurs touches de tri avec la direction de classement.

Prédicats (Subclause 19)

Paragraphe Capability Supported Notes
19.3 Prédicat de comparaison Oui Opérateurs de comparaison : =, , <><, ><=, >=.
19.4 Prédicat EXISTS Partiel Les sous-requêtes procédurales EXISTS sont prises en charge. Le formulaire uniquement à motifs graphiques n’est pas pris en charge.
19.5 Prédicat NULL Oui IS NULL et IS NOT NULL.
19.7 Prédicat NORMALIZED Non Le IS [NOT] NORMALIZED prédicat n’est actuellement pas pris en charge. La NORMALIZE() fonction est prise en charge : voir Subclause 20.24.

Graph supporte également les ALLfonctions de prédicat , ANY, NONE, et SINGLE list en tant qu’extension spécifique au langage Graph.

Expressions et fonctions de valeur (Subclause 20)

Paragraphe Capability Supported Notes
20,2 Expression de valeur primaire Oui Littéraux, références de variables, accès aux propriétés et expressions entre parenthèses.
20.3 Spécification de valeur Partiel Les littéraux et les références de variables sont pris en charge. SESSION_USER et la spécification des paramètres dynamiques ne sont actuellement pas prises en charge.
20.7 Expression CASE Partiel Simple CASE, COALESCE, et NULLIF sont pris en charge. Les expressions recherchées CASE WHEN ne sont pas actuellement prises en charge.
20.9 Fonction d’agrégation Oui COUNT, , , , , et MAX supportent DISTINCT et ALL définissent les quantificateurs et les agrégats spécifiques FILTER (WHERE ...) avec un optionnel LIMIT. MINAVGSUM Graph prend également en charge COLLECT_LIST, COLLECT_ONE, et COLLECT_ELEMENTS.
20.11 Informations de référence sur les propriétés Oui Accès aux propriétés de notation par points sur les nœuds et les arêtes.
20.12 Référence de variable de liaison Oui Références de variables dans les expressions.
20.20 Expression de valeur booléenne Partiel AND OR, NOT sont pris en charge. IS [NOT] TRUE/FALSE/UNKNOWN les tests ne sont actuellement pas pris en charge.
20.21 Expression de valeur numérique Oui Opérateurs arithmétiques : +, , -*, /.
20.22 Fonction valeur numérique Partiel CHAR_LENGTH, ABS, POWER, , les fonctions trigonométriques et RANGE sont prises en charge. Les CHARACTER_LENGTH fonctions alias et plafond, plancher, logarithmique, module, exponentielle et racine carrée ne sont pas pris en charge.
20.23 Expression de valeur de chaîne Oui Concaténation de chaîne avec l’opérateur \|\| .
20.24 Fonction de chaîne de caractères Partiel Les applications compatibles UPPERUnicode , LOWER, explicit TRIM, et NORMALIZE avec NFC ou NFD sont prises en charge. LEFT et RIGHT ne sont pas pris en charge actuellement.
20.25 Fonction de chaîne d’octets Non Les types de chaînes d’octets ne sont pas pris en charge.
20.27 Fonction valeur Datetime Oui CURRENT_TIMESTAMP est pris en charge. Consultez les valeurs datetime interzone.
20.29 Fonction valeur de durée Partiel DURATION(string) construit une durée diurne. Vous pouvez soustraire les valeurs de datetime zonées pour en déterminer une durée, mais la DURATION_BETWEEN fonction n’est pas actuellement prise en charge.

Types valeur (Subclause 24.2)

Graph prend en charge les quatre types de valeurs de propriété obligatoires : BOOL, STRINGsigné INTEGER (64 bits) et FLOAT, plus d’autres types. Pour obtenir la référence de type complète, consultez les valeurs GQL et les types valeur.

Éléments lexicals (Subclause 21)

Paragraphe Capability Supported Notes
21.1 Noms et variables Oui Liaison de variable avec des règles d’étendue vers l’avant. Identificateurs réguliers et délimités.
21.2 Littéraux Oui Littéraux pour les valeurs booléennes, entiers, nombres à virgule flottante, chaînes (avec échappement de style C et de style SQL), NULLet les listes.
21,3 Jetons, séparateurs, identificateurs Oui Règles lexicales GQL standard.

Conformité des fonctionnalités facultatives

Un ID de fonctionnalité identifie les fonctionnalités facultatives. Il commence par « G » suivi d’une lettre de groupe et de chiffres. Les sections suivantes organisent les fonctionnalités par groupe.

G — Fonctionnalités du modèle Graph

ID de la fonctionnalité Feature Supported Notes
G002 Mode de correspondance des différents bords Oui DIFFERENT EDGES et DIFFERENT RELATIONSHIPS renforcer l’unicité des arêtes sur tout le motif du graphe.
G003 Mot clé explicite REPEATABLE ELEMENTS Oui REPEATABLE ELEMENTS est pris en charge et constitue le mode de match par défaut.
G004 Variables de chemin Oui La liaison de variable de chemin d’accès est prise en charge.
G005 Préfixe de recherche de chemin d’accès dans un modèle de chemin Oui Les préfixes explicitesALLANY SHORTEST et les préfixes sont pris en charge.
G006 Clause de modèle KEEP graph : préfixe du mode chemin d’accès Non
G007 Clause de modèle KEEP graph : préfixe de recherche de chemin d’accès Non
G010 Mot clé explicite WALK Oui WALK permet la répétition des nœuds et des arêtes dans des chemins correspondants et constitue le mode chemin par défaut.
G011 Modes de chemin avancés : TRAIL Oui TRAIL empêche la traversée de bord en double.
G012 Modes de chemin avancés : SIMPLE Oui SIMPLE empêche la répétition des nœuds sauf lorsque le premier et le dernier nœud sont identiques. Cela empêche aussi la répétition des arêtes car la réutilisation des arêtes ferait répéter les nœuds d’extrémité.
G013 Modes de chemin avancés : ACYCLIC Oui ACYCLIC empêche tous les nœuds répétés et, par conséquent, toutes les arêtes répétées.
G014 Mots clés explicites PATH/PATHS Oui Les options PATH et PATHS mots-clés sont pris en charge dans les préfixes de mode chemin et de recherche de chemin.
G015 Recherche de chemin d’accès : mot clé explicite ALL Oui ALL est explicitement supporté et constitue la recherche de chemin par défaut.
G016 Recherche de chemin d’accès Non
G017 Recherche sur le chemin d’accès le plus court Non
G018 Toute recherche de chemin d’accès la plus courte Oui ANY SHORTEST renvoie un chemin le plus court par paire source-destination depuis chaque ligne d’entrée. Les égalités ne sont pas déterministes.
G019 Recherche de chemin d’accès le plus court compté Non
G020 Recherche de groupe la plus courte comptée Non
G030 Modification multiset de chemin d’accès Non
G031 Alternation multiset de chemin d’accès : opérandes de chemin de longueur variable Non
G032 Union du modèle de chemin d’accès Non
G033 Union du modèle de chemin d’accès : opérandes de chemin d’accès de longueur variable Non
G035 Chemins quantifiés Oui Modèles de longueur variable délimités avec {m,n} syntaxe.
G036 Arêtes quantifiées Non Seuls les chemins quantifiés sont pris en charge.
G037 Chemins interrogés Non
G038 Expression de modèle de chemin entre parenthèses Non
G039 Expression de modèle de chemin simplifié : définition complète par défaut Non
G041 Prédicats de modèle d’élément non local Non Les prédicats non locaux qui référencent des variables en dehors de l’élément de modèle actuel ne sont actuellement pas pris en charge. Les prédicats locaux WHERE dans les remplissages de nœud et de bord sont pris en charge.
G043 Effectuer des modèles de bord complets Oui Modèles de bord dirigés complets avec -> et <-.
G044 Modèles de bord abrégés de base Oui Modèles courts comme ()->() et ()-().
G045 Effectuer des modèles de bord abrégés Oui Raccourcis de modèle de bord abrégés pour n’importe quelle direction.
G046 Cohérence topologique détendue : modèles de vertex adjacents Non
G047 Cohérence topologique détendue : motifs de bord concis Non
G048 Modèle de chemin entre parenthèses : déclaration de variable de sous-chemin Non
G049 Modèle de chemin entre parenthèses : préfixe du mode chemin d’accès Non
G050 Modèle de chemin entre parenthèses : WHERE clause Non
G051 Modèle de chemin entre parenthèses : prédicats non locaux Non
G060 Quantificateurs de modèles de graphiques délimités Oui {m,n}, {m}, et {,n} la syntaxe. La limite de huit sauts du constructeur de requêtes visuelles ne s’applique pas à GQL dans l’éditeur de code.
G061 Quantificateurs de modèles de graphiques non liés Partiel {m,}, , et + sont soutenus par TRAIL, SIMPLE, et ACYCLIC. * Illimité ALL WALK est rejeté. Unbounded ANY SHORTEST WALK prend en charge des formes de requête spécifiques.
G074 Expression d’étiquette : étiquette générique Non Les caractères génériques ne sont actuellement pas pris en charge.
G080 Expression de modèle de chemin simplifié : définition par défaut de base Non
G081 Expression de modèle de chemin simplifié : remplacements complets Non
G082 Expression de modèle de chemin simplifié : remplacements de base Non
G100 ELEMENT_ID Fonction Oui ELEMENT_ID retourne l’identifiant opaque d’un nœud ou d’une arête sous forme de chaîne.
G110 Prédicat IS DIRECTED Non
G111 Prédicat IS LABELED Non
G112 IS SOURCE et IS DESTINATION prédicat Non
G113 Prédicat ALL_DIFFERENT Non
G114 Prédicat SAME Non
G115 Prédicat PROPERTY_EXISTS Non

Disponibilité générale : fonctionnalités générales

ID de la fonctionnalité Feature Supported Notes
GA01 Opérations à virgule flottante IEEE 754 Oui FLOAT64 utilise la représentation IEEE 754 binary64. Consultez les types numériques approximatifs et l’encodage de valeur de l’API de requête.
GA03 Ordre explicite des valeurs Null Oui Utiliser NULLS FIRST ou NULLS LAST avec ORDER BY. La valeur par défaut est NULLS LAST.
GA04 Comparaison universelle Non Graph compare la plupart des valeurs de types compatibles, mais ne prend pas encore en charge toutes les comparaisons numériques définies par GQL.
GA05 Spécification de cast Partiel CAST(value AS target_type) est prise en charge, y compris les distributions entre des types exacts de chiffres, de chaînes et de listes compatibles. La conversion de type Unicode n’est actuellement pas prise en charge. Consultez les conversions de types.
GA06 Prédicat de type valeur Oui Les prédicats de type valeur sont pris en charge.
GA07 Classement par des variables de liaison ignorées Non
GA08 Objets d’état GQL avec enregistrements de diagnostic Partiel Les objets d’état, les enregistrements de diagnostic, les statuts supplémentaires et les chaînes de causes sont pris en charge. L’API Query associe les valeurs canoniques GQLSTATUS à un ensemble plus restreint de codes d’état publics et préserve la valeur canonique dans les diagnostics. Voir la référence des codes d’état et l’objet d’état de l’API de requête.
GA09 Comparaison des chemins d’accès Partiel L’égalité des chemins et l’utilisation des chemins comme clés de tri sont prises en charge. D’autres formulaires de comparaison de chemins ne sont pas encore documentés.

Go — Fonctionnalités lexicales

ID de la fonctionnalité Feature Supported Notes
Gb01 Identificateurs longs Non
GB02 Commentaires de signe moins doubles Oui -- commentaires de ligne.
Gb03 Commentaires de solidus doubles Oui // commentaires de ligne et /* */ bloquer les commentaires.

GC — Fonctionnalités de gestion des catalogues

ID de la fonctionnalité Feature Supported Notes
GC01 Gestion des schémas de graphe Non
GC02 Gestion des schémas de graphe : IF [NOT] EXISTS Non
GC03 Type de graphique : IF [NOT] EXISTS Non
GC04 Gestion des graphiques Partiel CREATE GRAPH avec un type de graphique fermé est pris en charge. GQL ne prend pas en charge DROP GRAPH. Utilisez plutôt l’interface utilisateur fabric ou l’API REST .
GC05 Gestion des graphiques : IF [NOT] EXISTS Non

GD — Fonctionnalités de modification des données

ID de la fonctionnalité Feature Supported Notes
GD01 Graphiques pouvant être mis à jour Non Chargez et actualisez les données de graphe via la gestion des données, et non par le biais d’instructions GQLINSERT/SET/DELETE.
GD02 Modifications des ensembles d’étiquettes graphes Non
GD03 DELETE instruction : prise en charge de la sous-requête Non
GD04 DELETE instruction : prise en charge d’expressions simples Non

GE — Fonctionnalités d’expression

ID de la fonctionnalité Feature Supported Notes
GE01 Expressions de valeur de référence graphes Non
GE02 Expressions de valeur de référence de table de liaison Non
GE03 Liaison de variables dans les expressions Oui LET instruction pour la liaison de variable.
GE04 Paramètres de graphe Non
GE05 Paramètres de table de liaison Non
GE06 Construction de valeur de chemin d’accès Oui PATH [node, edge, node] constructeur pour la création de valeurs de chemin d’accès.
GE07 Booléen XOR Oui Disjonction exclusive avec XOR opérateur.
GE08 Paramètres de référence Non
GE09 Agrégation horizontale Oui Agrégation horizontale sur les variables de liste de groupes à partir de modèles de longueur variable.

GF — Fonctionnalités de fonction

ID de la fonctionnalité Feature Supported Notes
GF01 Fonctions numériques améliorées Partiel ABS et POWER sont soutenus. MOD, , FLOORCEIL, CEILINGet SQRT ne sont pas pris en charge actuellement.
GF02 Fonctions trigonométriques Oui , , , , , , , ATAN, SINHDEGREESCOSHTANHet RADIANSsont soutenus. ACOSASINCOTTANCOSSIN
GF03 Fonctions logarithmiques Non
GF04 Fonctions de chemin d’accès amélioré Oui elements(path), , path_length(path)nodes(path)et edges(path) sont pris en charge.
GF05 Fonction à caractères multiples TRIM Non Une valeur de trim personnalisée doit être exactement d’un octet.
GF06 Fonction explicite TRIM Oui BOTH, LEADING, et TRAILING les spécifications de finition sont prises en charge.
GF07 Fonction de chaîne d’octets TRIM Non Les types de chaînes d’octets ne sont pas pris en charge.
GF10 Fonctions d’agrégation avancées : fonctions de jeu général Partiel COLLECT_LIST, COLLECT_ONE, et COLLECT_ELEMENTS sont soutenus. STDDEV_POP, STDDEV_SAMPet PRODUCT ne sont pas pris en charge actuellement.
GF11 Fonctions d’agrégation avancées : fonctions de jeu binaire Non percentile_cont et percentile_disc ne sont pas pris en charge actuellement.
GF12 CARDINALITY Fonction Non Utilisez size(list) à la place.
GF13 SIZE Fonction Oui size(list) retourne le nombre d’éléments d’une liste.
GF20 Fonctions d’agrégation dans les clés de tri Non

Les extensions de chaînes spécifiques au graphe incluentCASEFOLD , STRING_JOIN, et les MSFT.REGEXP_* fonctions. Le prédicat standard REGEXP_CONTAINS n’est pas pris en charge.

GG — Fonctionnalités de type de graphique

ID de la fonctionnalité Feature Supported Notes
GG01 Graphe avec un type de graphe ouvert Non Seuls les types de graphiques fermés sont pris en charge.
GG02 Graphique avec un type de graphe fermé Oui Valeur par défaut. Les types de graphiques définissent les types de nœuds et de périphérie autorisés. Consultez les types de graphiques GQL.
GG03 Spécification inline du type de graphique Oui Les types de nœud et de bord sont spécifiés inline dans la définition de type de graphique.
GG04 Type de graphique comme un graphique Non
GG05 Graphique à partir d’une source de graphique Non
GG20 Noms de types d’éléments explicites Oui Les étiquettes servent de noms de type d’élément.
GG21 Jeux d’étiquettes de clé de type d’élément explicites Non
GG22 Inférence d’étiquette de clé de type d’élément Non
GG23 Ensembles d’étiquettes de clé de type d’élément facultatifs Oui Le jeu d’étiquettes de clé est le nom du type d’élément.
GG24 Cohérence structurelle détendue Non
GG25 Définition d’étiquettes de clé détendues pour les types de périphérie Non
GG26 Cohérence du type de valeur de propriété détendue Non

GL — Fonctionnalités littérales

ID de la fonctionnalité Feature Supported Notes
GL01 Littéraux hexadécimaux Non
GL02 Littéraux octaux Non
GL03 Littéraux binaires Non
GL04 Nombre exact en notation commune sans suffixe Oui Littéraux entiers tels que 123456. Consultez les types numériques exacts.
GL05 Nombre exact avec suffixe Oui Littéraux entiers avec des suffixes de type tels que 123m.
GL06 Nombre exact en notation scientifique avec suffixe Oui Par exemple : 1.25e2m.
GL07 Nombre approximatif en notation commune avec suffixe Partiel Les d suffixes et D sont pris en charge. Les f suffixes et F ne sont pas actuellement pris en charge. Consultez les types numériques approximatifs.
GL08 Nombre approximatif en notation scientifique avec suffixe Partiel La notation scientifique avec d ou D est prise en charge. Les f suffixes et F ne sont pas actuellement pris en charge.
GL09 Suffixe de nombre flottant facultatif Non
GL10 Suffixe de nombre double facultatif Non
GL11 Retrait de caractère d’échappement Non
GL12 Formats datetime SQL Oui Format ISO 8601 via ZONED_DATETIME('...'). Consultez les valeurs datetime interzone.

GP — Fonctionnalités de procédure

Les appels de procédures en ligne GP01 sont partiellement pris en charge via CALL { ... } et OPTIONAL CALL { ... }. Les sous-requêtes en ligne importent implicitement des variables à partir de portées englobantes et peuvent contenir des instructions imbriquées CALL . Les listes explicites d’importation de variables comme CALL (p) { ... } ne sont pas prises en charge. Les appels de procédure nommés et d’autres fonctionnalités de procédure (GP02–GP18) ne sont pas non plus actuellement pris en charge.

GQ — Fonctionnalités de composition des requêtes

ID de la fonctionnalité Feature Supported Notes
GQ01 USE clause graph Non
GQ02 Requête composite : OTHERWISE Non
GQ03 Requête composite : UNION Oui Mettre UNION à nu et UNION DISTINCT supprimer les lignes dupliquées. UNION ALL les préserve.
GQ04 Requête composite : EXCEPT DISTINCT Non
GQ05 Requête composite : EXCEPT ALL Non
GQ06 Requête composite : INTERSECT DISTINCT Non
GQ07 Requête composite : INTERSECT ALL Non
GQ08 Instruction FILTER Oui FILTER avec WHERE un mot clé.
GQ09 Instruction LET Oui LET pour les variables calculées.
GQ10 FOR instruction : prise en charge des valeurs de liste Oui L’instruction FOR décompose les valeurs de la liste en lignes.
GQ11 FOR Déclaration: WITH ORDINALITY Oui WITH ORDINALITY offre un poste basé sur un seul poste.
GQ12 ORDER BY et instruction de page : OFFSET clause Oui OFFSET (également alias en tant que SKIP).
GQ13 ORDER BY et instruction de page : LIMIT clause Oui LIMIT.
GQ14 Expressions complexes dans les clés de tri Oui ORDER BY accepte les expressions, y compris les appels de fonctions et les valeurs calculées.
GQ15 Clause GROUP BY Oui RETURN avec GROUP BY.
GQ16 Alias de pré-projection dans les clés de tri Non
GQ17 Opérations de variable de groupe à l’échelle de l’élément Oui Prise en charge via l’agrégation horizontale.
GQ18 Sous-requêtes scalaires Non Les sous-requêtes scalaires ne sont actuellement pas prises en charge.
GQ19 Clause de modèle YIELD graph Non
GQ20 Composition linéaire avancée avec NEXT Oui NEXT commence une autre étape de requête à partir des colonnes retournées par l’étape précédente. Chaque étape peut contenir une union de blocs de requête.
GQ21 OPTIONAL: instructions multiples MATCH Oui OPTIONAL MATCH est pris en charge.
GQ22 EXISTS prédicat : plusieurs MATCH instructions Oui Les sous-requêtes procédurales EXISTS prennent en charge plusieurs MATCH instructions dans le corps de la sous-requête.
GQ23 FOR instruction : prise en charge de la table de liaison Non
GQ24 FOR Déclaration: WITH OFFSET Oui WITH OFFSET fournit un indice à base de zéro.

GS : fonctionnalités de gestion de session

Les fonctionnalités de gestion de session GQL (GS01-GS16) ne sont actuellement pas prises en charge.

GT — Fonctionnalités de gestion des transactions

Les fonctionnalités de gestion des transactions GQL (GT01-GT03) ne sont actuellement pas prises en charge.

GV — Caractéristiques de type valeur

ID de la fonctionnalité Feature Supported Notes
GV01 Nombres entiers non signés 8 bits Non
GV02 Nombres entiers signés 8 bits Non
GV03 Nombres entiers non signés 16 bits Non
GV04 Nombres entiers signés 16 bits Non
GV05 Nombres entiers non signés petits Non
GV06 Nombres entiers non signés 32 bits Non
GV07 Nombres entiers signés 32 bits Non INT32 n’est pas pris en charge en tant que type de valeur GQL.
GV08 Nombres entiers non signés standard Oui UINT Type.
GV09 Précision de nombre entier spécifié Non
GV10 Nombres entiers non signés volumineux Non
GV11 Nombres entiers non signés 64 bits Oui UINT64.
GV12 Nombres entiers signés 64 bits Oui INT64.
GV13 Nombres entiers non signés 128 bits Non
GV14 Nombres entiers signés 128 bits Non
GV15 Nombres entiers non signés 256 bits Non
GV16 Nombres entiers signés 256 bits Non
GV18 Nombres entiers signés petits Non
GV19 Nombres entiers signés volumineux Non
GV20 Nombres à virgule flottante 16 bits Non
GV21 Nombres à virgule flottante 32 bits Non FLOAT dans les FLOAT64 alias de graphe (64 bits), pas FLOAT32. Consultez les types numériques approximatifs.
GV22 Précision de nombre à virgule flottante spécifiée Non
GV23 Synonymes de nom de type à virgule flottante Oui DOUBLE, FLOATet FLOAT64 tous spécifient le même type.
GV24 Nombres à virgule flottante 64 bits Oui DOUBLE / FLOAT64.
GV25 Nombres à virgule flottante 128 bits Non
GV26 Nombres à virgule flottante 256 bits Non
GV30 Longueur minimale de la chaîne de caractères spécifiée Non
GV31 Longueur maximale de la chaîne de caractères spécifiée Oui STRING Type.
GV32 Longueur fixe de la chaîne de caractères spécifiée Non
GV35 Types de chaînes d’octets Non
GV36 Longueur minimale de la chaîne d’octet spécifiée Non
GV37 Longueur maximale de la chaîne d’octet spécifiée Non
GV38 Longueur fixe de chaîne d’octet spécifiée Non
GV39 Types temporels : date, datetime locale et heure locale Non DATE, LOCAL DATETIME et LOCAL TIME ne sont pas pris en charge. Seul ZONED DATETIME est pris en charge.
GV40 Types temporels : datetime interzone et heure interzone Partiel ZONED DATETIME est pris en charge. ZONED TIME n’est actuellement pas pris en charge.
GV41 Types temporels : durée Oui Le type de durée est pris en charge.
GV45 Types d’enregistrements Oui La syntaxe du constructeur d’enregistrement est prise en charge.
GV46 Types d’enregistrements fermés Non
GV47 Ouvrir des types d’enregistrements Oui Les types d’enregistrements ouverts sont pris en charge.
GV48 Types d’enregistrements imbriqués Non
GV50 Types de valeurs de liste Oui LIST<element_type>. Les types de liste imbriqués (LIST<LIST<type>>) sont pris en charge. Les listes ne peuvent pas contenir de types mixtes.
GV55 Types de valeurs de chemin d’accès Oui PATH type pour les chemins d’accès correspondants.
GV60 Types de valeurs de référence graphique Non
GV61 Types de valeurs de référence de table de liaison Non
GV65 Types d’union dynamiques Non
GV66 Ouvrir des types d’union dynamiques Oui ANY le type valeur est pris en charge.
GV67 Types d’union dynamique fermés Non
GV68 Types de valeurs de propriété dynamique Non
GV70 Types de valeurs immatériaux Oui NULL et NOTHING types.
GV71 Types de valeurs non matérialisables : type Null Oui NULL est membre de chaque type valeur nullable.
GV72 Types de valeurs nonmatériaux : type vide Oui NOTHING / NULL NOT NULL.
GV90 Nullability de type valeur explicite Oui NOT NULL la syntaxe est prise en charge pour tous les types.

GH — Autres fonctionnalités

ID de la fonctionnalité Feature Supported Notes
GH01 Références d’objets externes Non
GH02 Modèles de bord non dirigés Non Graph nécessite des arêtes dirigées. Les modèles dirigés (-[]-) correspondent en fonction de la connectivité, quelle que soit la direction.

Fonctionnalités non encore prises en charge

Les fonctionnalités notables suivantes ne sont actuellement pas prises en charge. Pour obtenir la liste complète, consultez n’importe quelle ligne marquée Non dans les tables.

  • SELECT instruction (Subclause 14.12) — utiliser RETURN à la place
  • ALL SHORTEST, ANY, et les recherches de chemin comptabilisées (G016–G017 et G019–G020)
  • Sous-requêtes scalaires (GQ18)
  • Sous-requêtes uniquement EXISTS à motifs graphiques (sous-clause 19.4)
  • Fonctions plafond, plancher, logarithmique, module, exponentielle et racine carrée (GF01 et GF03)
  • EXCEPT et INTERSECT instructions (GQ04-GQ07)
  • OTHERWISE instruction (GQ02)
  • Instructions GQL INSERT/SET/DELETE(GD01) : utilisez plutôt la gestion des données
  • Commandes de gestion et de transaction de session (Subclauses 7 à 8)