注
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
このクイック スタートでは、Microsoft Fabric でグラフ モデルを作成する方法について説明します。
Important
この記事では、 AdventureWorks のグラフ データセットの例のみを使用します。
[前提条件]
Microsoft Fabric で graph の使用を開始するには、次の前提条件が必要です。
グラフは、お使いの リージョンで使用できます。
Graph は Fabric テナントで有効になっています。
OneLake にあるレイクハウスで、分析したいデータが含まれています。 このクイック スタートでは、Adventure Works データを例として使用します。 データと結果が異なる場合があります。 レイクハウスがない場合は、次の手順に従って作成します。 OneLake を使用してレイクハウスを作成します。
Important
レイクハウススキーマ (プレビュー) が有効になっているレイクハウスは使用できません。
ワークスペースのメンバーであるか、ワークスペース内にアイテムを作成するアクセス許可を持っている。 詳細については、「 Microsoft Fabric のワークスペース」を参照してください。
Important
グラフのアクセス管理は、それをホストするワークスペースに制限されます。 ワークスペースの外部のユーザーはグラフにアクセスできません。 Lakehouse 内の基になるデータにアクセスできるワークスペース内のユーザーは、グラフをモデル化してクエリを実行できます。
グラフ モデルを作成する
Microsoft Fabric の Graph では、他の Microsoft Fabric 項目と同じワークスペース ロールが使用されます。 次の表は、グラフ モデルに対する各 Microsoft Fabric ワークスペース ロールの機能に関連付けられているアクセス許可をまとめたものです。
| 能力 | 管理者 | メンバー | 投稿者 | [ビューアー] |
|---|---|---|---|---|
| グラフ モデルを作成または変更する | ✔ | ✔ | ✔ | ✖ |
| グラフ モデルを削除する | ✔ | ✔ | ✔ | ✖ |
| グラフ モデルのコンテンツの表示と読み取り | ✔ | ✔ | ✔ | ✔ |
| グラフ モデルを共有する | ✔ | ✔ | ✖ | ✖ |
Microsoft Fabric でグラフ モデルを作成するには、次の手順に従います。
Microsoft Fabric ワークスペースに移動します。
+ 新規アイテム を選択します。
[ データの分析とトレーニング>グラフ モデル (プレビュー) を選択します。
ヒント
または、検索ボックスに「グラフ」と入力し、 Enter キーを押してグラフ項目を検索します。
グラフ モデルの名前を入力し、[ 作成] を選択します。
グラフを作成する
グラフ ビューには、[ 保存]、[ノードの 追加]、[ エッジの追加]、[ データの取得 ] ボタンが表示されます。
Microsoft Fabric でグラフを作成するには、次の手順に従います。
グラフ モデルで、[データの 取得] を選択します。
OneLake カタログから、グラフで使用する Fabric のデータを選択します。
注
このクイック スタートでは、Adventure Works データを例として使用します。 データ セットと結果が異なる場合があります。
次に、 [接続](Connect) を選択します。
データ テーブルを選択し、[ 読み込み] を選択します。
グラフで使用できるデータが表示されます。
注
Microsoft Fabric の Graph では現在、次のデータ型がサポートされています。
- ブール値 (値は
trueとfalse) - Double (値は 64 ビット浮動小数点数)
- 整数 (値は 64 ビット符号付き整数)
- 文字列 (値は Unicode 文字列)
- ゾーン付き日付時刻(値はタイムスタンプとタイムゾーンのタイムシフトを含む)
- ブール値 (値は
モデリングの開始
グラフにノードとエッジを追加することで、モデリングを開始できるようになりました。 Adventure Works データ モデルを例として使用します。
ノードの追加
このセクションでは、Adventure Works データ モデルの各エンティティのノードを作成します。
| ノード ラベル | マッピング テーブル | マッピング列 |
|---|---|---|
| カスタマー | customers | CustomerID_K |
| 注文 | orders | SalesOrderDetailID_K |
| 社員 | employees | EmployeeID_K |
| Product | 製品 | ProductID_K |
| 製品カテゴリ | 製品カテゴリー | CategoryID_K |
| 製品サブカテゴリー | 商品サブカテゴリー | サブカテゴリID_K |
| 売り手 | vendors | VendorID_K |
ノードをグラフに追加するには、次の手順に従います。
グラフ モデルで、[ノードの 追加] を選択して、グラフに新しいノードを追加します。
[ グラフへのノードの追加 ] ダイアログで、[ ラベル 名] を入力し、適切な [マッピング] テーブル と [マッピング] 列を選択します。
この例では、ノード ラベルは "Customer" で、マッピング テーブルは "customers" で、マッピング列は "CustomerID_K" です。
[ 確認] を選択して、グラフにノードを追加します。
他のすべてのノードに対してプロセスを繰り返します。 グラフに表示されるすべてのノードが表示されます。
[保存] を選択してグラフの生成を開始します。
エッジを追加する
このセクションでは、Adventure Works データ モデルのノード間のリレーションシップを定義するエッジを作成します。
| Edge | マッピング テーブル | ソース ノード マッピング列 | ターゲット ノード マッピング列 |
|---|---|---|---|
| 販売 | orders | 社員 EmployeeID_FK |
注文 SalesOrderDetailID_K |
| 購入 | orders | カスタマー CustomerID_FK |
注文 SalesOrderDetailID_K |
| contains | orders | 注文 SalesOrderDetailID_K |
Product ProductID_FK |
| isOfType | 製品 | Product ProductID_K |
製品サブカテゴリー SubcategoryID_FK |
| 属する | 商品サブカテゴリー | 製品サブカテゴリー サブカテゴリID_K |
製品カテゴリ CategoryID_FK |
| 生成 | ベンダー製品 | 売り手 VendorID_FK |
Product ProductID_FK |
グラフにエッジを追加するには、次の手順に従います。
ノード間のリレーションシップを作成するには、[ エッジの追加] を選択します。
[ エッジの追加 ] ダイアログで、マッピング テーブル、ソース ノードとターゲット ノードを選択し、リレーションシップを定義します。
この例では、エッジはマッピング テーブル "orders" で "sells" と定義され、ソース ノード "Employee" (EmployeeID_FK) をターゲット ノード "Order" (SalesOrderDetailID_K) に接続します。
[ 確認] を選択して、グラフにエッジを追加します。
他のすべてのエッジに対してこのプロセスを繰り返します。 グラフに表示されているすべてのエッジが表示されます。
この時点で、グラフのすべてのノードとエッジを作成しました。 これは、グラフ モデルの基本的な構造です。
グラフを読み込む
グラフを読み込むには、[ 保存] を選択します。 これにより、グラフ モデルの検証、OneLake からのデータの読み込み、グラフの構築、クエリの準備が行われます。
Important
現在、モデルまたは基になるデータが変更されるたびに、( 保存を選択して) グラフを再読み込みする必要があります。
グラフのクエリを実行する
Microsoft Fabric の Graph では、他の Microsoft Fabric 項目と同じワークスペース ロールが使用されます。 次のワークスペース ロールのアクセス許可は、Graph モデルまたは QuerySet 項目を使用してクエリを実行するかどうかに応じて適用されます。
グラフモデルのワークスペースロール権限
| 能力 | 管理者 | メンバー | 投稿者 | [ビューアー] |
|---|---|---|---|---|
| グラフ モデルを作成または変更する | ✔ | ✔ | ✔ | ✖ |
| グラフ モデルを削除する | ✔ | ✔ | ✔ | ✖ |
| グラフ モデルのコンテンツの表示と読み取り | ✔ | ✔ | ✔ | ✔ |
| グラフ モデルを共有する | ✔ | ✔ | ✖ | ✖ |
| グラフ クエリを作成または変更する | ✔ | ✔ | ✔ | ✖ |
| グラフ QuerySet 項目を作成または変更する | ✔ | ✔ | ✔ | ✖ |
Graph QuerySet のワークスペース ロール権限
| 能力 | 管理者 | メンバー | 投稿者 | [ビューアー] |
|---|---|---|---|---|
| グラフ QuerySet 項目を作成または変更する | ✔ | ✔ | ✔ | ✖ |
| QuerySet アイテムを削除する | ✔ | ✔ | ✔ | ✖ |
| QuerySet アイテムのコンテンツの表示と読み取り | ✔ | ✔ | ✔ | ✔ |
| グラフ インスタンスに接続する | ✔ | ✔ | ✔ | ✖ |
| クエリ セットの共有 | ✔ | ✔ | ✖ | ✖ |
注
グラフ QuerySet 項目から参照されるグラフ インスタンスに対してクエリを実行するには、基になるグラフ インスタンス項目に対する読み取りアクセス権がすべてのユーザーに必要です。 QuerySet アイテムでは、読み取り、書き込み、および再共有のアクセス許可のみがサポートされます。
クエリ ビルダーの使用
これで、特定のノードとリレーションシップを選択してグラフのクエリを実行できるようになりました。 すべてのクエリは、 前のセクションで作成したグラフ構造に基づいています。
クエリ ビルダーに切り替えて、対話形式でグラフのクエリを開始するには、次の手順に従います。
グラフのホーム ページから モード>Query ビルダー を選択します。 このビューから、読み取り専用のクエリセットを作成することもできます。このクエリセットは、以下と同じ機能を持ち、クエリ結果を共有できます。
[ ノードの追加] を選択すると、クエリに使用できるノードが表示されます。
ノードを選択してクエリに追加します。 この例では、 Customer ノードを追加します。
ここから、ノードとエッジを追加し、フィルターを適用し、結果で返すプロパティを選択することで、クエリを作成できます。
コード エディターの使用
また、GQL グラフクエリ言語を使用してグラフにクエリを実行することもできます。
次の手順に従ってコード エディターに切り替え、GQL を使用してグラフのクエリを開始します。
- グラフのホーム ページから [ モード>コード エディター を選択します。
-
MATCH (n:`Order`) RETURN count(n) AS num_ordersなど、入力フィールドに GQL クエリを入力します。 - [ クエリの実行 ] を選択してクエリを実行します。
一致するグラフ パターンを組み合わせたクエリ、フィルター処理、集計、並べ替え、上位 k の制限など、より複雑なクエリを実行することもできます。
MATCH (v:Vendor)-[:produces]->(p:`Product`)->(sc:`ProductSubcategory`)->(c:`ProductCategory`),
(o:`Order`)-[:`contains`]->(p)
FILTER c.categoryName = 'Components'
LET vendorName = v.vendorName, subCategoryName = sc.subCategoryName
RETURN vendorName, subCategoryName, count(p) AS num_products, count(o) AS num_orders
GROUP BY vendorName, subCategoryName
ORDER BY num_orders DESC
LIMIT 5
GQL 言語サポートの詳細については、 GQL 言語ガイドを参照してください。
関連コンテンツ
- GQL 言語ガイド
- GQL の簡略化されたリファレンス
- Microsoft Fabric を無料で試す
- Microsoft Fabric でのエンド ツー エンド チュートリアル