次の方法で共有


チュートリアル: 1 つのマッピング テーブルから複数のノードとエッジの種類を追加する

現在、この機能はパブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「Microsoft Azure プレビューの使用条件を参照してください。

前のチュートリアルの手順では、各ソース テーブルが 1 つのノード タイプまたは 1 つのエッジ タイプにマップされています。 ただし、リレーショナル テーブルには多くの場合、埋め込みエンティティが含まれています。 たとえば、 Employees テーブルには Country 列が含まれています。 国を単なるプロパティとして Employee ノードに格納するのではなく、独自の Country ノード タイプに抽出し、 livesIn エッジに接続できます。 このアプローチでは、従業員と国の関係を直接照会できる、より豊富なグラフ モデルが作成されます。

このチュートリアルの手順では、 Employees マッピング テーブルから次のグラフ エンティティを作成します。

  • Country ノードの種類 (新規)
  • livesInに接続するEmployeeCountry (新規)
  • 冗長プロパティを削除するための既存の Employeenode 型 への変更

Employee -- livesIn-->Country

Adventure Works 従業員テーブル

Adventure Works データ モデルの Employees データ ソース テーブルには、次の列があります。

  • EmployeeID_K
  • ManagerID
  • EmployeeFullName
  • JobTitle
  • OrganizationLevel
  • MaritalStatus
  • Gender
  • Territory
  • Country
  • Group

次の表は、これらの列がグラフ エンティティにどのようにマップされるかを示しています。

グラフエンティティ タイプ キー列
Employee ノード (既に存在) EmployeeID_K
Country ノード (新規) Country
livesIn エッジ (新規)、 Employee から Country EmployeeID_KCountry

前の表では、Countryは Employees テーブルのソース列とグラフ内の新しいノードタイプの両方を参照しています。 これらは同じ名前を共有しますが、列はテーブル内の生データですが、ノードの種類はグラフ モデルのエンティティです。

マッピング テーブルからノード タイプを作成すると、テーブル内の各列が既定でそのノード タイプの プロパティ になります。 Employees テーブルには 10 個の列があるため、 Employee ノードタイプと Country ノードタイプの両方が最初にプロパティとして 10 列すべてを取得します。 次の手順では、各ノード の種類に関連しないプロパティを削除します。

Country ノード タイプを作成する

Country ノード タイプを作成するには、次の手順に従います。

  1. グラフ モデルで、[ノードの 追加] を選択します。

  2. [ グラフへのノードの追加 ] ダイアログで、次の値を入力します。

    • ラベル:Country
    • マッピング テーブル: adventureworks_employees
    • マッピング列の ID:Country
  3. [ 確認 ] を選択して、ノードの種類をグラフに追加します。

  4. Country ノード タイプをダブルクリックして、そのプロパティを表示します。

    Country ノード タイプのプロパティを示すスクリーンショット。

  5. Employees テーブルの 10 列はすべて、既定でプロパティになります。 国に関連しないものを削除します。 具体的には、 EmployeeID_KManagerIDEmployeeFullNameJobTitleOrganizationLevelMaritalStatusGenderTerritory、および Groupを削除します。 Countryプロパティのみが残る必要があります。

    無関係なプロパティを削除した後の Country ノードタイプのプロパティを示すスクリーンショット。

Employee ノードの種類を変更する

Employeeで、 ノードタイプを作成しました。 CountrylivesInエッジによって接続された独自のノードタイプになったので、Country列はEmployeeプロパティとして冗長になります。

  1. Employee ノード タイプをダブルクリックして、そのプロパティを表示します。
  2. クエリや分析にTerritoryCountryGroupが必要ない場合は、削除してください。

ヒント

過剰なプロパティを使用すると、グラフの保守と使用が困難になります。 すべてのノード の種類について、次のプロパティを削除します。

  • ノードの一意性には必要ありません
  • クエリや分析には必要ありません

livesIn エッジを作成する

livesInエッジ タイプを作成するには、次の手順に従います。

  1. [ エッジの追加] を選択します
  2. [ エッジの追加 ] ダイアログで、次の値を入力します。
    • ラベル:livesIn
    • マッピング テーブル: adventureworks_employees
    • ソース ノード: Employee
    • ソース ノード キーにリンクするマッピング テーブル列: EmployeeID_K
    • ターゲット ノード: Country
    • ターゲット ノード キーにリンクするマッピング テーブル列: Country
  3. [ 確認] を選択して、グラフにエッジを追加します。

グラフを読み込む

すべてのノード タイプとエッジ タイプを構成した後、グラフを読み込みます。

  • [ 保存] を選択してグラフ モデルを確認し、OneLake からデータを読み込み、グラフを構築して、クエリの準備を整えます。 データのサイズによっては、このプロセスに時間がかかる場合があるため、しばらくお待ちください。

livesIn エッジで接続された Employee ノードと Country ノードを含むグラフを示すスクリーンショット。

グラフには、新しい Country ノード タイプと livesIn エッジ タイプが含まれるようになりました。 従業員とその国の間の関係を直接照会できます。

まとめ

このチュートリアルの手順では、1 つの Employees マッピング テーブルから 2 つのノード タイプと 1 つのエッジ タイプを派生しました。

  • Employee ノード (前の手順で作成し、ここで調整)
  • Countryノード(新しい、Country列から抽出された)
  • livesIn 新規のエッジ(Employee から Country につながる)

このパターンは、グラフ内で個別のノードとして表す埋め込みエンティティがリレーショナル テーブルに含まれている場合に便利です。 国、都市、部署など、個別の現実世界のエンティティを表す列を、独自のノード タイプに抽出する候補として探します。

次のステップ