Cette page explique comment Spanner Graph est compatible avec le langage de requêtes standard international ISO pour les bases de données de graphes.
Spanner Graph est basé sur deux normes ISO:
- ISO/IEC 9075-16:2023 - Technologies de l'information - Langages de base de données : requêtes de graphes de propriétés SQL (SQL/PGQ), édition 1, 2023
- ISO/CEI 39075:2024 – Technologies de l'information — Langages de base de données — GQL, édition 1, 2024
Les tableaux suivants décrivent la relation d'ensemble entre SQL/PGQ, GQL et la façon dont Spanner Graph est compatible avec ces normes.
Standard | SQL/PGQ | GQL | Spanner Graph | |
---|---|---|---|---|
Requête | Fonctionnalités de correspondance de modèle dans les graphiques | Partage les fonctionnalités de base du langage GPML (Graph Pattern Matching Language) avec GQL. | Partage les fonctionnalités de base de GPML avec SQL/PGQ. | Les deux normes sont acceptées. Pour en savoir plus, consultez les modèles GQL du graphique Spanner. |
Requête | Autres fonctionnalités du langage de requête (par exemple, LIMIT , ORDER , agrégation) |
Basé sur SQL | Semblable à SQL, mais les fonctionnalités de requête GQL sont des instructions de requête de graphique composables de manière linéaire. | Les deux normes sont acceptées. Pour en savoir plus, consultez les instructions de requête GQL et la syntaxe des requêtes en GoogleSQL de Spanner Graph. |
Requête | Interopérabilité des graphiques et des tableaux | Compatible | Non compatible | Les deux normes sont acceptées. Pour en savoir plus, consultez l'opérateur GRAPH_TABLE . |
Types | Les types de données, les fonctions et les expressions de SQL/PGQ et de GQL sont similaires. | Les types de données, les fonctions et les expressions de SQL/PGQ et de GQL sont similaires. | Compatible avec la plupart des types de données et des expressions en SQL/PGQ et GQL. Pour en savoir plus, consultez la section Types de données en GoogleSQL. | |
LMD | SQL/PGQ hérite de la LMD de SQL. | La LMD basée sur les graphiques est prise en charge. | Compatible avec la DML basée sur des tables SQL. Pour en savoir plus, consultez le langage de manipulation de données GoogleSQL. | |
Schéma | Compatible avec l'utilisation de CREATE PROPERTY GRAPH à partir de tables. |
Compatible avec l'utilisation de CREATE PROPERTY GRAPH avec des types ouverts et fermés. |
Compatible avec la méthode SQL/PGQ. Pour en savoir plus, consultez la définition de CREATE PROPERTY GRAPH . |
Compatibilité avec SQL/PGQ
Standard | ID de fonctionnalité SQL/PGQ | Spanner Graph |
---|---|---|
Requête (interopérabilité des graphiques et des tableaux) | Fonctionnalité G900: GRAPH_TABLE |
Compatible Pour en savoir plus, consultez l'opérateur GRAPH_TABLE . |
Schéma | Fonctionnalité G924: clause de clé explicite pour les tables d'éléments. Cela implique une déclaration de conformité avec la fonctionnalité G920: Graphiques de propriétés SQL basés sur le langage de définition de données. | Compatible Pour en savoir plus, consultez la section Instruction CREATE_PROPERTY_GRAPH . |
Schéma | Fonctionnalité G925: Clause d'étiquette et de propriétés explicites pour les tables d'éléments. Cela implique une déclaration de conformité avec la fonctionnalité G920: Graphiques de propriétés SQL basés sur le langage de définition de données. | Compatible Pour en savoir plus, consultez la section Instruction CREATE_PROPERTY_GRAPH . |
Requête (GPML) | Fonctionnalité G001: mode de correspondance des éléments répétables. | Compatible Le mode de correspondance des éléments répétables est la sémantique par défaut. La syntaxe de la clause de mode de correspondance des éléments répétables explicites n'est pas acceptée. |
Requête (GPML) | Fonctionnalité G008: clause WHERE du format de graphique. Cela implique une déclaration de conformité avec la fonctionnalité G000: Modèle de graphique. |
Compatible Pour en savoir plus, consultez la section Modèle de graphique. |
Requête (GPML) | Fonctionnalité G034: concatenaison de chemins. | Compatible Pour en savoir plus, consultez la section Modèle de graphique. |
Requête (GPML) | Élément G040: motif de sommets. | Compatible Pour en savoir plus, consultez la section Modèle d'élément. |
Requête (GPML) | Caractéristique G042: motifs de bordure complets de base | Compatible Pour en savoir plus, consultez la section Modèle d'élément. |
Requête (GPML) | Fonctionnalité G070: Expression de libellé: disjonction de libellés. | Compatible Pour en savoir plus, consultez Expression de libellé. |
Requête (GPML) | Fonctionnalité G073: Expression de libellé: nom de libellé individuel. | Compatible Pour en savoir plus, consultez Expression de libellé. |
Requête (GPML) | Élément G090: référence de propriété. | Compatible |
Compatibilité avec GQL
Standard | ID d'élément GQL | Spanner Graph |
---|---|---|
Schéma | Élément GG02: graphique avec un type de graphique fermé. Conformité avec au moins l'un des documents GG20, GG21, GG22 ou GG23:
|
Compatible Vous pouvez choisir entre GG01 (Graphe avec un type ouvert) et GG02 pour la compatibilité avec GQL. Spanner Graph n'est pas compatible avec l'instruction CREATE_GRAPH_TYPE exacte que GQL. Toutefois, l'instruction CREATE_PROPERTY_GRAPH compatible avec Spanner Graph est étroitement liée à GG02 (avec une compatibilité similaire pour GG20, GG21, GG22 et GG23). |
Structure lexicale | "Déclaration de conformité à une version spécifique de la norme Unicode® et aux versions synchrones de la norme technique Unicode 10, de l'annexe 15 de la norme Unicode et de l'annexe 31 de la norme Unicode. La version revendiquée de la norme Unicode® ne doit pas être inférieure à 13.0.0." | Le langage GQL de Spanner Graph partage la structure lexicale exacte avec GoogleSQL. Pour obtenir des informations sur les valeurs d'échappement Unicode, consultez la section Séquences d'échappement pour les littéraux de chaîne et d'octet. |
Types de données | "Déclaration de conformité à l'ensemble de tous les types de valeurs acceptés comme types de valeurs de propriété. Cet ensemble doit au minimum inclure les éléments suivants:
|
Compatible Pour en savoir plus, consultez la liste complète des types de données compatibles avec Spanner Graph GQL. |
Autres fonctionnalités
Les fonctionnalités listées dans les sections précédentes sont les fonctionnalités de conformité minimales des normes. Spanner Graph est compatible avec d'autres fonctionnalités des normes ISO. Pour en savoir plus, consultez la présentation du schéma de graphique Spanner et la présentation de GQL.