BigQuery Graph y los estándares ISO
En el documento, se describe cómo BigQuery Graph admite el lenguaje de consulta estándar internacional de ISO para las bases de datos de grafos.
BigQuery Graph se basa en dos estándares ISO:
- ISO/IEC 9075-16:2023 - Tecnología de la información — Lenguajes de bases de datos SQL Property Graph Queries (SQL/PGQ), edición 1, 2023
- ISO/IEC 39075:2024 - Tecnología de la información — Lenguajes de bases de datos — GQL, edición 1, 2024
En las siguientes tablas, se describe la relación de alto nivel entre SQL/PGQ, GQL y cómo BigQuery Graph admite estos estándares.
| Estándar | SQL/PGQ | GQL | BigQuery Graph | |
|---|---|---|---|---|
| Consulta | Capacidades de coincidencia de patrones de grafos | Comparte las funcionalidades principales de Graph Pattern Matching Language (GPML) con GQL. | Comparte las funcionalidades principales de GPML con SQL/PGQ. | Se admiten ambos estándares. Para obtener más información, consulta los patrones de GQL de BigQuery Graph. |
| Consulta | Otras funciones del lenguaje de consulta (por ejemplo, LIMIT, ORDER, agregación) |
Basada en SQL | Es similar a SQL, pero las funciones de consulta de GQL son declaraciones de consulta de grafos que se pueden componer de forma lineal. | Ambos estándares son compatibles. Para obtener más información, consulta las declaraciones de consulta de GQL y la sintaxis de consulta en GoogleSQL de BigQuery Graph. |
| Consulta | Interoperabilidad entre gráficos y tablas | Compatible. | No compatible. | Ambos estándares son compatibles. Para obtener más información, consulta el operador GRAPH_TABLE. |
| Tipos | Los tipos de datos, las funciones y las expresiones en SQL/PGQ y GQL son similares. | Los tipos de datos, las funciones y las expresiones en SQL/PGQ y GQL son similares. | Admite la mayoría de los tipos de datos y expresiones en SQL/PGQ y GQL. Para obtener más información, consulta Tipos de datos en GoogleSQL. | |
| DML | SQL/PGQ hereda el DML de SQL. | Se admite el DML basado en grafos. | Admite DML basado en tablas de SQL. Para obtener más información, consulta el lenguaje de manipulación de datos de GoogleSQL. | |
| Esquema | Admite el uso de CREATE PROPERTY GRAPH de tablas. |
Admite el uso de CREATE PROPERTY GRAPH con tipos abiertos y cerrados. |
Admite el método SQL/PGQ. Para obtener más información, consulta la definición de CREATE PROPERTY GRAPH. |
Compatibilidad con SQL/PGQ
| Estándar | ID de la función de SQL/PGQ | BigQuery Graph |
|---|---|---|
| Consulta (interoperabilidad de gráficos y tablas) | Función G900: GRAPH_TABLE |
Compatible. Para obtener más información, consulta el operador GRAPH_TABLE. |
| Esquema | Función G924: Cláusula de clave explícita para tablas de elementos. Esto implica una declaración de conformidad con la función G920: Grafos de propiedades de SQL basados en DDL. | Compatible. Para obtener más información, consulta la declaración CREATE_PROPERTY_GRAPH. |
| Esquema | Función G925: Cláusula explícita de etiqueta y propiedades para tablas de elementos. Esto implica una declaración de conformidad con la función G920: Grafos de propiedades de SQL basados en DDL. | Compatible. Para obtener más información, consulta la declaración CREATE_PROPERTY_GRAPH. |
| Consulta (GPML) | Función G001: Modo de coincidencia de elementos repetibles. | Compatible. El modo de coincidencia de elementos repetibles es la semántica predeterminada. No se admite la sintaxis de la cláusula de modo de coincidencia de elementos repetibles explícitos. |
| Consulta (GPML) | Función G008: Cláusula WHERE del patrón de grafo. Esto implica una declaración de conformidad con la función G000: Patrón de grafo. |
Compatible. Para obtener más información, consulta Patrón de grafo. |
| Consulta (GPML) | Atributo G034: Concatenación de rutas. | Compatible. Para obtener más información, consulta Patrón de grafo. |
| Consulta (GPML) | Función G040: Patrón de Vertex. | Compatible. Para obtener más información, consulta Patrón de elementos. |
| Consulta (GPML) | Feature G042: Basic full edge patterns. | Compatible. Para obtener más información, consulta Patrón de elementos. |
| Consulta (GPML) | Atributo G070: Expresión de etiqueta: disyunción de etiquetas. | Compatible. Para obtener más información, consulta Expresión de etiqueta. |
| Consulta (GPML) | Atributo G073: Expresión de etiqueta: nombre de etiqueta individual. | Compatible. Para obtener más información, consulta Expresión de etiqueta. |
| Consulta (GPML) | Feature G090: Property reference. | Compatible. |
Compatibilidad con GQL
| Estándar | ID del atributo de GQL | BigQuery Graph |
|---|---|---|
| Esquema | Función GG02: Gráfico con un tipo de gráfico cerrado. Cumplimiento de al menos uno de los requisitos GG20, GG21, GG22 o GG23:
|
Compatible. La compatibilidad con GQL se puede elegir entre GG01: Gráfico con un tipo abierto o GG02. BigQuery Graph no admite exactamente la misma sentencia CREATE_GRAPH_TYPE que GQL. Sin embargo, la declaración CREATE_PROPERTY_GRAPH que admite BigQuery Graph está estrechamente relacionada con GG02 (con compatibilidad similar para GG20, GG21, GG22 y GG23). |
| Estructura léxica | "Una declaración de conformidad con una versión específica del estándar Unicode® y las versiones síncronas del estándar técnico de Unicode núm. 10, el anexo del estándar Unicode núm. 15 y el anexo del estándar Unicode núm. 31. La versión declarada del estándar Unicode® no debe ser inferior a la 13.0.0". | GQL de BigQuery Graph comparte la estructura léxica exacta con GoogleSQL. Para obtener una referencia a los valores de escape de Unicode, consulta Secuencias de escape para literales de string y bytes. |
| Tipos de datos | "Una declaración de conformidad con el conjunto de todos los tipos de valores que se admiten como tipos de valores de propiedad. Como mínimo, este conjunto debe incluir lo siguiente:
|
Compatible. Para obtener más información, consulta la lista completa de tipos de datos que admite GQL de BigQuery Graph. |
Características adicionales
Las funciones que se mencionan en las secciones anteriores son las funciones de conformidad mínima de los estándares. BigQuery Graph admite funciones adicionales en los estándares ISO. Para obtener más información, consulta Descripción general del esquema de BigQuery Graph y Descripción general de GQL.