Spanner Graph et normes ISO

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:

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:
  • Fonctionnalité GG20: noms de type d'élément explicites.
  • Fonctionnalité GG21: Ensembles de libellés de clé de type d'élément explicites.
  • Fonctionnalité GG22: Inférence du jeu de libellés de clé de type d'élément.
  • Fonctionnalité GG22: Inférence du jeu de libellés de clé de type d'élément.
  • Élément GG23 Ensembles d'étiquettes de clé de type d'élément facultatif.
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:
  • Type de chaîne de caractères spécifié par STRING ou VARCHAR.
  • Type booléen spécifié par BOOLEAN ou BOOL.
  • Type d'entier signé standard spécifié par SIGNED INTEGER, INTEGER ou INT.
  • Type numérique approximatif spécifié par FLOAT."
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.