Microsoft Fabricでのグラフの現在の制限事項

Microsoft Fabricのグラフにはいくつかの機能的制限があります。 この記事では、いくつかの重要な制限事項について説明しますが、完全な一覧ではありません。 定期的に更新プログラムを確認してください。

一般的な問題のヘルプについては、 グラフのトラブルシューティングを参照してください。

グラフ モデルの作成

データ ソース

OneLakeとMirrored Databasesはグラフのサポートデータソースです。

データ型

グラフモデルは以下のプロパティ値タイプをサポートします。

GQL値タイプ Description
BOOLEAN 値は true と false です。
INT (または INT64) 値は64ビット符号付き整数です。
DOUBLE (または FLOAT64) 値は64ビットのIEEE-754浮動小数点数です。
FLOAT (または FLOAT32) 値は32ビットの浮動小数点数です。
STRING 値はUTF-8でエンコードされたUnicode文字文字列です。 最大プロパティサイズは65,535バイトです。
ZONED DATETIME 値はタイムスタンプとタイムゾーンのオフセットを合わせたもので、ミリ秒単位の精度で表されます。

以下のOneLakeおよびDelta Lakeのカラムタイプはグラフへの取り込みに対応しています。

ワンレイクタイプ GQLプロパティ値タイプへのマップ
BooleanType BOOLEAN
ByteType INT (または INT64)
IntegerType INT (または INT64)
LongType INT (または INT64)
FloatType DOUBLE (または FLOAT64)
DoubleType DOUBLE (または FLOAT64)
StringType STRING
DateType ZONED DATETIME
TimestampType ZONED DATETIME
TimestampNtzType ZONED DATETIME

Note

複雑または入れ子状のデルタ湖タイプ(MapType と StructType)はサポートされていません。 クエリ時にJSONでエンコードされた文字列列を PARSE_JSON_STRINGで解析できます。

グラフ処理とスケール

グラフの読み込みおよびリフレッシュ操作は、グラフサイズ、グラフ要素(ノードやエッジ)の数、およびそれらの要素に関連するプロパティペイロードのサイズによって、処理時間が延長される場合があります。 大きなグラフの処理には数時間かかることがあります。 グラフの読み込みやリフレッシュ操作が24時間経っても完了しない場合は、さらなる調査のために サポートリクエストを送信 してください。

現在のグラフ処理機能は、約20億個のグラフ要素(ノードとエッジ)を含むグラフをサポートしています。 実効容量はグラフ構造やプロパティのペイロードサイズによって異なる場合があります。 これらの制限を超えると予想されるワークロードは、Microsoft サポートに連絡してアドバイスをください。

パーティション列

デルタ湖のパーティション列はグラフプロパティとしてのサポートが限られています:

  • パーティション列を唯一の主キーとして使う場合は、必ず拒否されます。
  • 生成されたパーティションカラムはサポートされていません。
  • 複雑かつ10進数の分割列タイプ(Decimal、 Binary、 Array、 Map、 Struct)は警告とともに削除されます。

スキーマの変更

スキーマの変更はグラフの再読み込みを引き起こします。

Querying

可変長経路

Explore UIパスビルダーは、可変長パターンで最大8ホップまでサポートしています。 このユーザーインターフェースの制限は、コードエディタで入力されたGQLクエリには適用されません。

グラフは ALL および ANY SHORTEST パスサーチのプレフィックスをサポートしています。 ALL SHORTEST と ANY はサポートされません。

以下の表は可変長のGQLサポートをまとめたものです:

経路探索と経路モード 固定量化子または有界量化子 無界量化子
ALL WALK (既定値) サポートされている 繰り返し要素が無限に多くの経路を生み出す可能性があるため、サポートされていません。
ALL TRAIL、 ALL SIMPLE、または ALL ACYCLIC サポートされている サポートはありますが、それでもパスの数は多いことがあります。
ANY SHORTEST WALK サポートされている 2つのノード間で匿名化された1つの量化エッジを持つシンプルなエンドポイント到達性をサポートしています。 この無界形で境界が満たされた経路は、 PATH_LENGTH(path) と並行して path IS NULLのみ使用可能であり、完全な経路は物質化されません。 無 制限可変長パターンを参照してください。
ANY SHORTEST TRAIL、 ANY SHORTEST SIMPLE、または ANY SHORTEST ACYCLIC サポートされている Supported.

固定量化子と有界量化子は {n}、 {m,n}、 {,n}です。 無界量化子は {m,}、 *、 +です。 詳細は GQLグラフパターンをご覧ください。

経路述語配置

GQLは、適格なパスを制約する述語と、パスサーチの接頭辞で選択された後にパスをフィルタリングする述語を区別します。 一部の ANY SHORTEST クエリ形状については、Graphは現在パス選択前に文レベルの MATCH ... WHERE 条件を適用できます。

意図されたステージを明確にするために、適格性述語をノードまたはエッジパターンにインライン配置します。 選択後のフィルタリングでは、MATCH後に別のFILTER文を使います。 例としては、 パス選択の前後に述語を置くことを参照してください。

リスト述語フィルター

リスト述語フィルターは現在サポートしていません:

  • EXISTS サブクエリ。
  • 局所的に結びつく要素上の集約関数。 囲むグループリスト上の水平集約もサポートされています。

サポートされている構文および結果意味については、 List 述語関数を参照してください。

結果のサイズ

グラフは、クエリ応答の内部バイナリ表現が64MBを超えると切り詰められます。 グラフは適合する行を返し、公開ステータスコード 01000 および標準的なGQLSTATUS 01M11を含む追加の警告を報告します。 中間結果は128MBまで制限されています。

応答には、切断で省略された行の継続トークンは含まれていません。 フィルターや特定の予測、 LIMITで結果を絞り込み、再度クエリを実行してください。

Timeout

クエリAPIの実行は、継続リクエストを含めて合計20分のタイムアウトがあります。 実行がこの制限を超えると、APIはHTTP 408をエラーコード QueryTimeout返します。

Subqueries

CALL、 OPTIONAL CALL、およびプロシージャフォーム EXISTS サブクエリもサポートされています。 インライン CALL サブクエリはネスト化でき、囲むスコープから変数を暗にインポートできます。 名前付きプロシージャ呼び出し、 CALL (p) { ... }、グラフパターンのみの EXISTS、スカラーサブクエリ(VALUE { ... })などの明示的な変数インポートリストはサポートされていません。

集計関数

サポートされている集計関数は次のとおりです。

  • COUNT、COUNT(*)、SUM、AVG、MIN、MAX
  • COLLECT_LIST、 COLLECT_ONE、および COLLECT_ELEMENTS
  • DISTINCT 前述のすべての関数の変種
  • 上記のすべての横方向(行単位、グループ変数/リスト上の)バリアント

以下の集約関数はまだサポートされていません:

  • PERCENTILE_CONT と PERCENTILE_DISC
  • STDDEV_POP と STDDEV_SAMP
  • PRODUCT

操作の設定

UNION ALL と UNION DISTINCT がサポートされています。 INTERSECT、 EXCEPT、 OTHERWISE はまだサポートされていません。

サポートされたGQLの文と条項

以下の主要なGQL文句および条項がサポートされています:

  • MATCH と OPTIONAL MATCH
  • WHERE フィルター
  • LET 可変バインディング
  • FOR ... IN オプションの ORDINALITY インデックス付きリスト展開
  • NEXT、 UNION、 UNION DISTINCT、または UNION ALL
  • RETURN と RETURN DISTINCT
  • GROUP BY
  • ORDER BY で NULLS FIRST または NULLS LAST
  • LIMIT と OFFSET
  • UNION ALL と UNION DISTINCT
  • CALL、 OPTIONAL CALL、および EXISTS
  • CAST 広型変換行列を用いる
  • GQLの式、述語、関数に記載されたサポートされたスカラーおよび集約関数

DMLおよびDDLの運用

INSERT、UPDATE、DELETEなどのデータ操作言語(DML)はGQLではサポートされていません。 スキーマミューテーションのためのデータ定義言語(DDL)操作はサポートされていません。

データのエクスポートと視覚化

グラフ クエリの結果またはグラフ構造のエクスポートは現在サポートされていません。

視覚化シナリオのためにグラフにPower BIを直接接続することは現在サポートされていません。

GQL 準拠

ISO/IEC 39075:2024 標準に対してサポートされている GQL 機能 (最小準拠、グループ別のオプション機能、まだサポートされていない機能など) の詳細なマッピングについては、 GQL 標準準拠を参照してください。

以下の機能については、GQL標準への適合性がまだ進行中です。

制御フローとセット操作

  • EXCEPT ALL と EXCEPT DISTINCT のステートメント
  • INTERSECT ALL と INTERSECT DISTINCT のステートメント
  • OTHERWISE ステートメント

経路探索とパターンマッチング

  • ALL SHORTEST パスサーチ(サポートされていません)
  • ANY 経路探索
  • 非ローカル パターン述語
  • 緩やかなトポロジの一貫性
  • ワイルドカード

Predicates

  • ラベルテスト述語(IS LABELED)
  • IS DIRECTED 述語
  • 正規化された述語
  • ソース/宛先述語
  • ALL_DIFFERENT 述語
  • IS DISTINCT 述語
  • SAME 述語
  • REGEXP_CONTAINS 述語

サポートされるランタイム値タイプ

ランタイムバリュータイプ 表現/範囲 Limit
BOOLEAN true と false
INT (または INT64) 符号付き 64 ビット整数
UINT (または UINT64) 符号なし 64 ビット整数
DOUBLE (または FLOAT64) IEEE-754 binary64 有限のみのチェックはなし;非有限値は受け入れられます
STRING Unicode 文字列 65,534バイト(uint16 オンディスク長)
ZONED DATETIME Unix時代からミリ秒とint32 UTCオフセットを加算した int64ミリ秒帯
DURATION(DAY TO SECOND) ミリ秒精度
NODE uint64 RAW
EDGE uint64 RAW
LIST 斉次型リスト 65,534要素(uint16のディスク上長)
RECORD 型付けフィールドの構造体
PATH 常にノードで始まり終わりが続く交互のノードと辺のリスト 65,534要素(uint16のディスク上長)

まだサポートされていないランタイム値タイプ

  • INT8、 INT16、および INT32 の値型(INT64 はサポートされています)
  • FLOAT16 および FLOAT32 値タイプ(FLOAT64 がサポートされています)
  • UINT8、 UINT16、および UINT32 の値型(UINT64 はサポートされています)
  • ZONED TIME 値タイプ
  • DATE 単独型として値型を。 取り込んだ日付はゾーン指定のDateTimeにマッピングされます。
  • LOCAL DATETIME 値タイプ
  • LOCAL TIME 値タイプ
  • DURATION(YEAR TO MONTH) 値タイプ
  • BYTES 値タイプ。 取り込みはサポートされていますが、型は保存プロパティとしてクエリ可能ではありません。
  • VECTOR 値タイプ

機能と表現

  • PROPERTIES 関数
  • NORMALIZE NFKC形とNFKD形で
  • DURATION_BETWEEN 関数
  • 表情 CASE WHEN 検索した
  • スカラー サブクエリ
  • パス値の連結
  • バイト文字列の連結、 TRIM、長さ関数
  • TRIM仕様を持つシンプルTRIM関数
  • マルチ文字 TRIM 関数
  • CARDINALITY

集約

  • PERCENTILE_CONT 集計関数
  • PERCENTILE_DISC 集計関数
  • PRODUCT 集計関数
  • STDDEV_POP 集計関数
  • STDDEV_SAMP 集計関数

Other

  • パラメータパッシング($param 動的パラメータ仕様)
  • セッションユーザー(SESSION_USER)
  • CALL 命名手続き文
  • CALL 明示的な変数インポートリストを持つサブクエリ
  • カタログ管理。 グラフ名と制約名は自動的に生成されます。

Catalog

Note

グラフ名や制約名は自動的に生成され、UIやJSONスキーマで指定することはできません。

カタログエリア 電流制限/挙動 レコメンデーション
グラフ スキーマ カタログごとに1種類のグラフタイプ。
グラフ名 空でなければならず、明示的な最大長さはありません。 127文字
ノードの種類 最大約20億(int32 IDスペース)です。 64K
エッジの種類 最大約20億(int32 IDスペース)です。 64K
一意ノードラベル 最大で約20億件、一つのタイプ内の重複は却下されます。 ノードタイプから派生
一意な辺ラベル 最大で約20億件、一つのタイプ内の重複は却下されます。 辺型から派生
ユニークな不動産名 最大で約20億件;空の名前や一つのタイプ内の重複は却下されます。 64K x 10
ノードタイプごとのプロパティ 明示的な最大値はなし;重複するプロパティ名は却下されます。 256
辺の種類ごとの性質 明示的な最大値はなし;重複するプロパティ名は却下されます。 256
ノードタイプごとのラベル 明確な最大は存在しません。重複ラベルは拒否されます。 64
エッジタイプごとのラベル 明確な最大は存在しません。重複ラベルは拒否されます。 64
制約ごとの主要な性質 明示的な最大値はなし;プロパティ名は空でなければなりません。 16
物件名の長さ 非空きを超えて明確に強制されているわけではありません。 127文字
ラベル名の長さ 非空きを超えて明確に強制されているわけではありません。 127文字
エッジキー制約 デフォルトで無効化(allow_edge_key_constraints フラグ付き)。 ≤ エッジの種類の数