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 圖表的 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 子句。這表示您聲明符合「Feature 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 的支援方式也類似)。
詞法結構 「聲明符合特定版本的 The Unicode® Standard 和 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 圖形結構定義總覽」和「GQL 總覽」。