Spanner Graph 和 ISO 标准

本页介绍了 Spanner Graph 如何支持适用于图数据库的 ISO 国际标准查询语言。

Spanner Graph 基于以下两个 ISO 标准:

下表概述了 SQL/PGQ 与 GQL 之间的关系,以及 Spanner Graph 如何支持这些标准。

标准 SQL/PGQ GQL Spanner Graph
查询 图模式匹配功能 与 GQL 共享核心图模式匹配语言 (GPML) 功能。 与 SQL/PGQ 共享核心 GPML 功能。 这两种标准都受支持。如需了解详情,请参阅 Spanner 图 GQL 模式
查询 其他查询语言功能(例如 LIMITORDER、汇总) 基于 SQL。 与 SQL 类似,但 GQL 查询功能是线性可组合图查询语句。 这两种标准都受支持。如需了解详情,请参阅 Spanner Graph GQL 查询语句GoogleSQL 中的查询语法
查询 图表和表格互操作性 受支持。 不受支持。 这两种标准均受支持。如需了解详情,请参阅 GRAPH_TABLE 运算符
类型 SQL/PGQ 和 GQL 中的数据类型、函数和表达式类似。 SQL/PGQ 和 GQL 中的数据类型、函数和表达式类似。 支持 SQL/PGQ 和 GQL 中的大多数数据类型和表达式。如需了解详情,请参阅 GoogleSQL 中的数据类型
DML SQL/PGQ 从 SQL 继承了 DML。 支持基于图的 DML。 支持基于 SQL 表的 DML。如需了解详情,请参阅 GoogleSQL 数据操纵语言
架构 支持从表中使用 CREATE PROPERTY GRAPH 支持将 CREATE PROPERTY GRAPH 与开放型和封闭型结合使用。 支持 SQL/PGQ 方法。如需了解详情,请参阅 CREATE PROPERTY GRAPH 定义。

SQL/PGQ 支持

标准 SQL/PGQ 功能 ID Spanner Graph
查询(图表和表互操作性) 地图项 G900:GRAPH_TABLE 支持。如需了解详情,请参阅 GRAPH_TABLE 运算符。
架构 功能 G924:元素表的显式键子句。这意味着声明符合功能 G920:基于 DDL 的 SQL 属性图。 支持。如需了解详情,请参阅 CREATE_PROPERTY_GRAPH 语句
架构 功能 G925:元素表的显式标签和属性子句。这意味着声明符合功能 G920:基于 DDL 的 SQL 属性图。 支持。如需了解详情,请参阅 CREATE_PROPERTY_GRAPH 语句
查询 (GPML) 地图项 G001:可重复元素匹配模式。 支持。可重复元素匹配模式是默认的语义。不支持显式可重复元素匹配模式子句语法。
查询 (GPML) 功能 G008:图模式 WHERE 子句。这意味着声明符合特征 G000:图形模式。 支持。如需了解详情,请参阅图表模式
查询 (GPML) 地图项 G034:路径串联。 支持。如需了解详情,请参阅图表模式
查询 (GPML) 特征 G040:顶点模式。 支持。如需了解详情,请参阅元素模式
查询 (GPML) 功能 G042:基本全边模式。 支持。如需了解详情,请参阅元素模式
查询 (GPML) 功能 G070:标签表达式:标签析取。 支持。如需了解详情,请参阅标签表达式
查询 (GPML) 功能 G073:标签表达式:单个标签名称。 支持。如需了解详情,请参阅标签表达式
查询 (GPML) 地图项 G090:媒体资源引用。 受支持。

GQL 支持

标准 GQL 地图项 ID Spanner Graph
架构 地图项 GG02:采用封闭图表类型的图表。符合 GG20、GG21、GG22 或 GG23 中的至少一项:
  • 功能 GG20:显式元素类型名称。
  • 功能 GG21:显式元素类型键标签集。
  • 功能 GG22:元素类型键标签集推理。
  • 功能 GG22:元素类型键标签集推理。
  • 功能 GG23 可选的元素类型键标签集。
支持。您可以从 GG01:开放型图表或 GG02 中选择 GQL 支持。
Spanner Graph 不支持与 GQL 完全相同的 CREATE_GRAPH_TYPE 语句。不过,Spanner Graph 支持的 CREATE_PROPERTY_GRAPH 语句与 GG02 密切相关(对 GG20、GG21、GG22 和 GG23 的支持也类似)。
词汇结构 “声明符合特定版本的 Unicode® 标准以及 Unicode 技术标准 10 号、Unicode 标准附录 15 号和 Unicode 标准附录 31 号的同步版本。The claimed version of The Unicode® Standard shall not be less than 13.0.0." Spanner Graph GQL 与 GoogleSQL 共享完全相同的词法结构。如需参考 Unicode 转义值,请参阅字符串和字节字面量的转义序列
数据类型 “声明符合作为属性值类型受支持的所有值类型的集合。此集至少应包含:
  • STRINGVARCHAR 指定的字符串类型。
  • BOOLEANBOOL 指定的布尔类型。
  • SIGNED INTEGERINTEGERINT 指定的有符号常规整数类型。
  • FLOAT 指定的近似数字类型。”
支持。如需了解详情,请参阅 Spanner Graph GQL 支持的完整数据类型列表

其他功能

前面部分列出的功能是这些标准的最小合规性功能。Spanner Graph 支持 ISO 标准中的其他功能。如需了解详情,请参阅 Spanner 图架构概览GQL 概览