BigQuery 圖表和 ISO 標準
本文說明 BigQuery Graph 如何支援圖形資料庫的 ISO 國際標準查詢語言。
BigQuery 圖表以兩項 ISO 標準為基礎:
- ISO/IEC 9075-16:2023 - Information technology — Database languages SQL Property Graph Queries (SQL/PGQ), 第 1 版,2023 年
- ISO/IEC 39075:2024 - Information technology — Database languages — GQL, 第 1 版,2024 年
下表說明 SQL/PGQ、GQL 的高階關係,以及 BigQuery 圖形如何支援這些標準。
| 標準 | SQL/PGQ | GQL | BigQuery Graph | |
|---|---|---|---|---|
| 查詢 | 圖形模式比對功能 | 與 GQL 共用核心圖形模式比對語言 (GPML) 功能。 | 與 SQL/PGQ 共用核心 GPML 功能。 | 系統支援這兩種標準。詳情請參閱 BigQuery Graph GQL 模式。 |
| 查詢 | 其他查詢語言功能 (例如 LIMIT、ORDER、彙整) |
以 SQL 為基礎。 | 與 SQL 類似,但 GQL 查詢功能是線性可組合的圖形查詢陳述式。 | 系統支援這兩種標準。詳情請參閱 BigQuery 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 | BigQuery 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 | BigQuery Graph |
|---|---|---|
| 結構定義 | 功能 GG02:圖表,圖表類型為封閉。符合 GG20、GG21、GG22 或 GG23 其中一項:
|
支援。您可以從 GG01:具有開放類型的圖形或 GG02 中選擇 GQL 支援。 BigQuery Graph 不支援與 GQL 完全相同的 CREATE_GRAPH_TYPE 陳述式。不過,BigQuery Graph 支援的 CREATE_PROPERTY_GRAPH 陳述式與 GG02 密切相關 (也支援 GG20、GG21、GG22 和 GG23)。 |
| 詞法結構 | 聲明符合特定版本的 Unicode® 標準,以及 Unicode 技術標準 #10、Unicode 標準附錄 #15 和 Unicode 標準附錄 #31 的同步版本。聲明的 Unicode® 標準版本不得低於 13.0.0 版。」 | BigQuery Graph GQL 與 GoogleSQL 採用完全相同的詞法結構。如要參照 Unicode 逸出值,請參閱「字串和位元組常值的逸出序列」。 |
| 資料類型 | 「聲明符合所有支援的值類型,這些值類型會做為屬性值的類型。這組資料至少應包含:
|
支援。詳情請參閱 BigQuery Graph GQL 支援的完整資料類型清單。 |
其他功能
前幾節列出的功能是標準的最低一致性功能。BigQuery Graph 支援 ISO 標準的其他功能。詳情請參閱「BigQuery 圖表結構定義總覽」和「GQL 總覽」。