BigQuery Graph et les normes ISO
Ce document décrit comment BigQuery Graph prend en charge le langage de requête standard international ISO pour les bases de données de graphes.
BigQuery Graph est basé sur deux normes ISO :
- ISO/IEC 9075-16:2023 - Information technology — Database languages SQL Property Graph Queries (SQL/PGQ), Édition 1, 2023
- ISO/IEC 39075:2024 - Information technology — Database languages — GQL, Édition 1, 2024
Les tableaux suivants décrivent la relation générale entre SQL/PGQ et GQL, et la manière dont BigQuery Graph prend en charge ces normes.
| Standard | SQL/PGQ | GQL | Graphique BigQuery | |
|---|---|---|---|---|
| Requête | Fonctionnalités de correspondance de modèles de graphes | 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 Modèles GQL de BigQuery Graph. |
| Requête | Autres fonctionnalités du langage de requête (par exemple, LIMIT, ORDER, agrégation) |
Basées sur SQL. | Semblable à SQL, mais les fonctionnalités de requête GQL sont des instructions de requête de graphe composables de manière linéaire. | Les deux normes sont acceptées. Pour en savoir plus, consultez les pages Instructions de requête GQL et Syntaxe des requêtes en GoogleSQL de BigQuery Graph. |
| Requête | Interopérabilité entre les graphiques et les tableaux | Compatible | Non compatible | Les deux normes sont acceptées. Pour en savoir plus, consultez Opérateur GRAPH_TABLE. |
| Types | Les types de données, les fonctions et les expressions sont similaires dans SQL/PGQ et GQL. | Les types de données, les fonctions et les expressions sont similaires dans SQL/PGQ et GQL. | Compatible avec la plupart des types de données et expressions en SQL/PGQ et GQL. Pour en savoir plus, consultez Types de données en GoogleSQL. | |
| LMD | SQL/PGQ hérite du LMD de SQL. | Le LMD basé sur des graphes est pris en charge. | Compatible avec le LMD basé sur des tables SQL. Pour en savoir plus, consultez Langage de manipulation de données GoogleSQL. | |
| Schéma | Permet d'utiliser CREATE PROPERTY GRAPH à partir de tables. |
Permet d'utiliser 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 la fonctionnalité SQL/PGQ | Graphique BigQuery |
|---|---|---|
| Requête (interopérabilité entre les graphiques et les 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é à la fonctionnalité G920 : graphiques de propriétés SQL basés sur le langage de définition de données LDD. | Compatible Pour en savoir plus, consultez la section Instruction CREATE_PROPERTY_GRAPH. |
| Schéma | Fonctionnalité G925 : clause explicite d'étiquette et de propriétés pour les tables d'éléments. Cela implique une revendication de conformité à la fonctionnalité G920 : graphiques de propriétés SQL basés sur le LDD. | 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 modèle de graphique. Cela implique une déclaration de conformité à la fonctionnalité G000 : modèle de graphique. |
Compatible Pour en savoir plus, consultez Modèle de graphique. |
| Requête (GPML) | Fonctionnalité G034 : concaténation de chemins d'accès. | Compatible Pour en savoir plus, consultez Modèle de graphique. |
| Requête (GPML) | Fonctionnalité G040 : motif de sommet. | Compatible Pour en savoir plus, consultez Modèle d'élément. |
| Requête (GPML) | Fonctionnalité G042 : motifs de bordure complets de base. | Compatible Pour en savoir plus, consultez Modèle d'élément. |
| Requête (GPML) | Fonctionnalité G070 : expression d'étiquette : disjonction d'étiquettes. | 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 d'étiquette. |
| Requête (GPML) | Fonctionnalité G090 : référence de propriété. | Compatible |
Compatibilité avec GQL
| Standard | ID de la fonctionnalité GQL | Graphique BigQuery |
|---|---|---|
| Schéma | Fonctionnalité GG02 : graphique avec un type de graphique fermé. Conformité avec au moins l'une des normes GG20, GG21, GG22 ou GG23 :
|
Compatible La compatibilité avec GQL peut être choisie à partir de GG01 : graphe avec un type ouvert ou GG02. BigQuery Graph n'est pas compatible avec l'instruction CREATE_GRAPH_TYPE exacte de GQL. Toutefois, l'instruction CREATE_PROPERTY_GRAPH compatible avec BigQuery Graph est étroitement liée à GG02 (avec une compatibilité similaire pour GG20, GG21, GG22 et GG23). |
| Structure lexicale | "Une 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 de la norme Unicode #15 et de l'annexe de la norme Unicode #31. La version revendiquée de la norme Unicode® ne doit pas être antérieure à la version 13.0.0." | BigQuery Graph GQL partage exactement la même structure lexicale que GoogleSQL. Pour en savoir plus sur les valeurs d'échappement Unicode, consultez Séquences d'échappement pour les littéraux de chaîne et d'octets. |
| Types de données | "Une revendication de conformité à l'ensemble de tous les types de valeurs acceptés comme types de valeurs de propriété. Cet ensemble doit inclure au minimum :
|
Compatible Pour en savoir plus, consultez la liste complète des types de données compatibles avec BigQuery 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. BigQuery Graph est compatible avec des fonctionnalités supplémentaires des normes ISO. Pour en savoir plus, consultez Présentation du schéma BigQuery Graph et Présentation de GQL.