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 Graph 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 的同步版本。所声明的 Unicode® 标准版本不得低于 13.0.0。” Spanner Graph GQL 与 GoogleSQL 具有完全相同的词法结构。如需参考 Unicode 转义值,请参阅字符串和字节字面量的转义序列
数据类型 “声明符合作为属性值类型受到支持的所有值类型集合。此集合至少应包含:
  • STRINGVARCHAR 指定的字符串类型。
  • BOOLEANBOOL 指定的布尔值类型。
  • SIGNED INTEGERINTEGERINT 指定的有符号常规整数类型。
  • FLOAT 指定的近似数字类型。”
支持。如需了解详情,请参阅 Spanner Graph GQL 支持的完整数据类型列表

其他功能

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