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. |
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. |
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 :
- 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.
- 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.
- 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. |
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)
Contenu connexe