このページでは、Spanner Graph がグラフ データベースの ISO 国際標準クエリ言語をサポートする方法について説明します。
Spanner Graph は、次の 2 つの ISO 標準に基づいています。
- ISO/IEC 9075-16:2023 - 情報技術 - データベース言語 SQL プロパティグラフ クエリ(SQL/PGQ)、第 1 版、2023 年
- ISO/IEC 39075:2024 - 情報技術 - データベース言語 - GQL、第 1 版、2024 年
次の表に、SQL/PGQ と GQL の間の概要と、Spanner Graph がこれらの標準をサポートする方法を示します。
スタンダード | SQL/PGQ | GQL | Spanner Graph | |
---|---|---|---|---|
クエリ | グラフ パターン マッチング機能 | コアとなる Graph Pattern Matching Language(GPML)機能を GQL と共有します。 | SQL/PGQ とコア GPML 機能を共有します。 | どちらの規格もサポートされています。詳細については、Spanner Graph の GQL パターンをご覧ください。 |
クエリ | その他のクエリ言語機能(LIMIT 、ORDER 、集計など) |
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 の少なくとも 1 つに準拠している:
|
サポートされています。GQL サポートは、GG01: オープンタイプのグラフまたは GG02 から選択できます。 Spanner Graph は、GQL とまったく同じ CREATE_GRAPH_TYPE ステートメントをサポートしていません。ただし、Spanner Graph でサポートされている CREATE_PROPERTY_GRAPH ステートメントは GG02 と密接に関連しています(GG20、GG21、GG22、GG23 も同様にサポートされています)。 |
語彙の構造 | 「特定のバージョンの TheUnicode® Standard と、Unicode Technical Standard #10、Unicode Standard Annex #15、Unicode Standard Annex #31 の同期バージョンに準拠しているという主張。申告された Unicode® 標準のバージョンは 13.0.0 以上である必要があります。」 | Spanner Graph GQL は、GoogleSQL とまったく同じ語彙の構造を共有しています。Unicode エスケープ値については、文字列リテラルとバイトリテラルのエスケープ シーケンスをご覧ください。 |
データ型 | 「プロパティ値の型としてサポートされているすべての値の型のセットに準拠するという主張。このセットには、少なくとも が含まれます。
|
サポートされています。詳細については、Spanner Graph GQL でサポートされているデータ型の全一覧をご覧ください。 |
その他の機能
前のセクションで説明した機能は、標準の最小コンフォーマンス機能です。Spanner Graph は、ISO 標準の追加機能をサポートしています。詳細については、Spanner Graph スキーマの概要と GQL の概要をご覧ください。