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関数 -
NORMALIZENFKC形と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 フラグ付き)。 |
≤ エッジの種類の数 |