En esta página se describe cómo admite Spanner Graph el lenguaje de consulta estándar internacional ISO para bases de datos de gráficos.
Spanner Graph se basa en dos estándares ISO:
- ISO/IEC 9075-16:2023 - Information technology — Database languages SQL Property Graph Queries (SQL/PGQ), Edition 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 y GQL, así como la forma en que Spanner Graph admite estos estándares.
Estándar | SQL/PGQ | GQL | Spanner Graph | |
---|---|---|---|---|
Consulta | Funciones de coincidencia de patrones de gráficos | Comparte las funciones principales de Graph Pattern Matching Language (GPML) con GQL. | Comparte las funciones principales de GPML con SQL y PGQ. | Se admiten ambos estándares. Para obtener más información, consulta los patrones de GQL de Spanner Graph. |
Consulta | Otras funciones del lenguaje de consulta (por ejemplo, LIMIT , ORDER y agregación) |
Basado en SQL. | Es similar a SQL, pero las funciones de consulta de GQL son instrucciones de consulta de gráficos que se pueden componer de forma lineal. | Se admiten ambos estándares. Para obtener más información, consulta las instrucciones de consulta de GQL y la sintaxis de las consultas en GoogleSQL de Spanner Graph. |
Consulta | Interoperabilidad de gráficos y tablas | Compatible. | No es compatible. | Se admiten ambos estándares. Para obtener más información, consulta el operador GRAPH_TABLE . |
Tipos | Los tipos de datos, las funciones y las expresiones de SQL/PGQ y GQL son similares. | Los tipos de datos, las funciones y las expresiones de SQL/PGQ y GQL son similares. | Admite la mayoría de los tipos de datos y expresiones de SQL/PGQ y GQL. Para obtener más información, consulta Tipos de datos en GoogleSQL. | |
DML | SQL/PGQ hereda DML de SQL. | Se admite DML basado en gráficos. | Admite DML basado en tablas SQL. Para obtener más información, consulta el lenguaje de manipulación de datos de GoogleSQL. | |
Esquema | Permite usar 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 y PGQL
Estándar | ID de la función SQL/PGQ | Spanner 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: gráficos de propiedades SQL basados en DDL. | Compatible. Para obtener más información, consulta la CREATE_PROPERTY_GRAPH declaración. |
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: gráficos de propiedades SQL basados en DDL. | Compatible. Para obtener más información, consulta la CREATE_PROPERTY_GRAPH declaración. |
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 cláusula de modo de coincidencia de elementos repetibles explícitos. |
Consulta (GPML) | Característica G008: cláusula de patrón de gráfico WHERE . Esto implica una declaración de conformidad con la función G000: patrón de gráfico. |
Compatible. Para obtener más información, consulta Gráfico de patrones. |
Consulta (GPML) | Función G034: concatenación de rutas. | Compatible. Para obtener más información, consulta Gráfico de patrones. |
Consulta (GPML) | Función G040: patrón de vértices. | Compatible. Para obtener más información, consulta Patrón de elemento. |
Consulta (GPML) | Función G042: patrones básicos de borde completo. | Compatible. Para obtener más información, consulta Patrón de elemento. |
Consulta (GPML) | Función G070: expresión de etiqueta: disyunción de etiquetas. | Compatible. Para obtener más información, consulta Expresión de etiqueta. |
Consulta (GPML) | Función G073: expresión de etiqueta: nombre de etiqueta individual. | Compatible. Para obtener más información, consulta Expresión de etiqueta. |
Consulta (GPML) | Función G090: referencia de propiedad. | Compatible. |
Compatibilidad con GQL
Estándar | ID de la función de GQL | Spanner Graph |
---|---|---|
Esquema | Función GG02: gráfico con un tipo de gráfico cerrado. Cumplimiento de al menos uno de los estándares GG20, GG21, GG22 o GG23:
|
Compatible. Puedes elegir la compatibilidad con GQL en GG01: gráfico con un tipo abierto o GG02. Spanner Graph no admite la misma instrucción CREATE_GRAPH_TYPE que GQL. Sin embargo, la sentencia CREATE_PROPERTY_GRAPH compatible con Spanner Graph está estrechamente relacionada con GG02 (con una compatibilidad similar con 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 Unicode n.º 10, el anexo del estándar Unicode n.º 15 y el anexo del estándar Unicode n.º 31. La versión declarada de The Unicode® Standard no debe ser inferior a 13.0.0". | GQL de Spanner Graph comparte la misma estructura léxica que GoogleSQL. Para consultar los valores de escape Unicode, consulte Secuencias de escape para literales de cadena y de bytes. |
Tipos de datos | "Una reclamació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 admitidos por GQL de Spanner Graph. |
Más funciones
Las funciones que se indican en las secciones anteriores son las funciones de conformidad mínimas de los estándares. Spanner Graph admite funciones adicionales en los estándares ISO. Para obtener más información, consulta la descripción general del esquema de Spanner Graph y la descripción general de GQL.