Spanner Graph と ISO 標準

このページでは、Spanner Graph がグラフ データベースの ISO 国際標準クエリ言語をサポートする方法について説明します。

Spanner Graph は、次の 2 つの ISO 標準に基づいています。

次の表に、SQL/PGQ と GQL の間の概要と、Spanner Graph がこれらの標準をサポートする方法を示します。

スタンダード SQL/PGQ GQL Spanner Graph
クエリ グラフ パターン マッチング機能 コアとなる Graph Pattern Matching Language(GPML)機能を GQL と共有します。 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 の少なくとも 1 つに準拠している:
  • 機能 GG20: 明示的な要素型名。
  • 機能 GG21: 明示的な要素タイプキーラベルセット。
  • 機能 GG22: 要素タイプキーラベルセットの推論。
  • 機能 GG22: 要素タイプキーラベルセットの推論。
  • 特徴 GG23 オプションの要素タイプキーラベルセット。
サポートされています。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 エスケープ値については、文字列リテラルとバイトリテラルのエスケープ シーケンスをご覧ください。
データ型 「プロパティ値の型としてサポートされているすべての値の型のセットに準拠するという主張。このセットには、少なくとも
が含まれます。
  • STRING または VARCHAR で指定された文字列型。
  • BOOLEAN または BOOL で指定されたブール型。
  • SIGNED INTEGERINTEGERINT で指定された符号付き通常整数型。
  • FLOAT で指定された近似数値型。
サポートされています。詳細については、Spanner Graph GQL でサポートされているデータ型の全一覧をご覧ください。

その他の機能

前のセクションで説明した機能は、標準の最小コンフォーマンス機能です。Spanner Graph は、ISO 標準の追加機能をサポートしています。詳細については、Spanner Graph スキーマの概要GQL の概要をご覧ください。