ナレッジ グラフへのデータの読み込み

ナレッジ グラフのエンティティとリレーションシップを作成して、既存のテーブル データを表現できます。 テーブルのフィールドに含まれるデータは、エンティティとリレーションシップのプロパティに変換できます。 フィーチャクラスのジオメトリは、エンティティの空間フィーチャに読み込むことができます。

テーブル データをナレッジ グラフ アイテムに変換する方法は、[テーブルの読み込み] ウィザードを使用して定義します。 変換プロセスを定義する間、作業内容を保存できます。 データを変換する手順が、データ読み込み構成として現在のプロジェクトの調査に保存されます。 既存のデータ読み込み構成は、類似したテーブルとフィーチャクラスに対応するように変更できます。

変換プロセスを実行すると、データが現在の調査のナレッジ グラフに読み込まれます。 新しいリンク チャートを作成することで、変換プロセスの結果を表示して評価できます。

データ読み込み構成は、テーブルのデータを読み取って処理する方法を指定します。 テーブルの読み込みプロセスでは、ナレッジ グラフのエンティティとリレーションシップを作成して、データを表現します。

テーブルの読み込みウィザードを開く

テーブルの読み込みウィザードを開いて、テーブル データを調査のナレッジ グラフにインポートします。

  1. ArcGIS Pro で「調査を開きます」。
  2. リボンの [調査] タブで、[データの読み込み] グループの [テーブルの読み込み] テーブルの読み込み をクリックします。

[テーブルの読み込み] ウィザードが、調査と並んで新しいビューに表示されます。

読み込むテーブルの識別

変換するデータを含むテーブルまたはフィーチャクラスを、ウィザードの [ようこそ] ページで指定します。 この操作の基準として使用できる既存のデータ読み込み構成がある場合は、その構成情報をウィザードにインポートできます。

データ読み込み構成は、現在の調査からのみウィザードにインポートできます。 異なるプロジェクトを含め、別の調査からデータ読み込み構成をコピーして、その情報をインポートすることができます。

  1. [ソース テーブル] テキスト ボックスの横にある参照ボタン 開く をクリックします。
  2. 表示されるダイアログ ボックスで、調査のナレッジ グラフに読み込むデータを含むテーブルまたはフィーチャクラスを参照してクリックし、[OK] をクリックします。
  3. 現在のテーブル データのインポートに関連する情報を含むデータ読み込み構成が調査に存在する場合は、[データ読み込み構成] ドロップダウン矢印をクリックして、該当するデータ読み込み構成 構成の読み込み をクリックします。
  4. [次へ] をクリックして、ウィザードの [エンティティ] ページに進みます。
ヒント:

ソース テーブルまたはフィーチャクラスおよび初期のデータ読み込み構成は、リボンの [テーブルの読み込み] タブにあるボタンを使用して指定することもできます。 これらの設定は任意の時点で変更できますが、以前にウィザードで定義した設定はすべて失われます。

ナレッジ グラフに作成するエンティティの定義

ソース テーブルまたはフィーチャクラスで、データがナレッジ グラフのエンティティを表すフィールドを識別します。 ソース テーブルのフィールドは、テーブルの Column Name 列にリスト表示されます。

たとえば、ソース テーブルが会社の従業員を表している場合は、その情報をナレッジ グラフにインポートして、テーブルの行ごとに 1 つの Employee エンティティを作成できます。 このエンティティを表すために選択するフィールドは、Employee エンティティ タイプの一意の識別子 (従業員 ID 番号など) でなければなりません。 従業員のフル ネームといった他のプロパティは一意であることが保証されません。

複数のテーブルに別々のオフィスの従業員情報が格納されている場合があります。 1 つのテーブルをインポートした後に、2 つ目のテーブルのインポートを準備するときは、地域担当営業マネージャーなど、複数のテーブルに表示される従業員を考慮に入れる必要があります。 エンティティのマージ方法を指定せずに両方のテーブルをインポートすると、結果として、同一の地域担当営業マネージャーの 2 つのエンティティがナレッジ グラフ内に存在することになります。 テーブルのデータがエンティティを一意に識別するものであり、ナレッジ グラフの既存のエンティティに同じ情報を含むプロパティが指定されていれば、重複の作成を避けることができます。

エンティティをマージすることにした場合、データ読み込みプロセスでは、ナレッジ グラフの既存の Employee インスタンスごとに、テーブルのフィールドに格納された従業員 ID 番号と Employee エンティティ タイプの ID プロパティが比較されます。 同じ識別子で同じタイプのエンティティがナレッジ グラフに存在する場合は、新しいインスタンスが作成される代わりに、テーブルのデータが既存のナレッジ グラフ エンティティに格納されるか、関連付けられます。 つまり、テーブル内のエンティティとナレッジ グラフ内のエンティティがマージされます。

一般的に、可能であれば、データ読み込みプロセス中にエンティティをマージすることをお勧めします。 多くのエンティティをマージできますが、テーブルまたはナレッジ グラフのエラーやギャップによって、一部のエンティティがマージできないことがあります。 このような場合、テーブル読み込みプロセスの完了後に手動でエンティティをマージできます。

エンティティのマージの詳細

  1. テーブル内でデータがエンティティを一意に識別する各フィールドの Create Entity 列をオンにします。
  2. オンにしたそれぞれのフィールドの Entity Type 列内をクリックして、ナレッジ グラフの新しいインスタンスが作成されるエンティティ タイプを定義します。
    • ナレッジ グラフですでに定義されているエンティティ タイプの場合は、表示されるドロップダウン矢印をクリックして、リストにあるエンティティ タイプをクリックします。 テキスト ボックスの入力を開始すると、既存のエンティティ タイプの名前が自動入力されます。
    • ナレッジ グラフの新しいエンティティ タイプを定義するには、テキスト ボックス内をクリックして、新しいエンティティ タイプの名前を指定します。 ウィザード全体を通じて、新しいエンティティ タイプはアスタリスクで識別されます。 可能であれば、既存のエンティティ タイプを使用します。
    • ソース テーブルのフィールドが、作成するエンティティのタイプを指定する場合は、表示されるドロップダウン矢印をクリックして、ドロップダウン リストの一番下にある [列] オプションをクリックします。 リストがテーブル内のすべてのフィールドを表示するよう変更されます。 ナレッジ グラフに作成するエンティティのタイプを指定するデータのフィールドをクリックします。
  3. オンにしたそれぞれのフィールドの Merge 列をオンにして、テーブル内のデータとナレッジ グラフの既存のエンティティを比較し、可能な場合は、エンティティをマージします。

    テーブルの一意の識別子がグラフ内のエンティティの一意のプロパティと一致しない場合は、エンティティの新しいインスタンスがナレッジ グラフに作成されます。

  4. [次へ] をクリックして、ウィザードの [リレーションシップ] ページに進みます。
ヒント:

データ読み込み構成として定義したルールは、いつでも調査に保存できます。 リボンの [テーブルの読み込み] タブで、[構成] グループの [保存] をクリックします。 必要に応じて [保存] 保存 または [名前を付けて保存] 名前を付けて保存 をクリックし、新規または既存のデータ読み込み構成にルールを保存します。 調査とデータ読み込み構成はプロジェクトに保存されるため、ユーザーがさらにプロジェクトを保存するまで変更内容は完全には保存されません。

ナレッジ グラフに作成するリレーションシップの定義

ソース テーブルまたはフィーチャクラスのデータを使用して、エンティティ間のリレーションシップを確立できます。 データ読み込みプロセスの一部としてリレーションシップを作成するには、リレーションシップの関連元エンティティと関連先エンティティの両方をウィザードの [エンティティ] ページで定義する必要があります。 リレーションシップは、関連元エンティティから関連先エンティティへの一方向で記述されます。

たとえば、組織の従業員を表すテーブルのフィールドで従業員のマネージャーを定義できます。 WorksFor リレーションシップ タイプを定義して、従業員とそのマネージャー間の関連を把握できます。 WorksFor リレーションシップでは、関連元エンティティと関連先エンティティの両方に Employee エンティティ タイプを指定できます。 テーブルの各行が処理されるときに、現在の従業員がリレーションシップの関連元エンティティになり、そのマネージャーである従業員がリレーションシップの関連先エンティティになります。

エンティティと同様に、テーブルに定義されたリレーションシップをナレッジ グラフの既存のリレーションシップとマージできます。 リレーションシップをマージする場合、データ読み込みプロセスでは、テーブルのエンティティとナレッジ グラフの既存のエンティティが比較され、関連元エンティティと関連先エンティティがマージ可能かどうかが決定されます。 エンティティをマージできる場合は、エンティティ間に同じタイプのリレーションシップがすでに存在しているかどうかを確認するためにナレッジ グラフが調査されます。同じタイプのリレーションシップが存在している場合、リレーションシップも同様にマージされます。 たとえば、関連元エンティティはマージできるが、関連先エンティティはマージできない場合、既存の関連元エンティティから新しい関連先エンティティまでの新しいリレーションシップが作成されます。

一般的に、可能であれば、データの読み込みプロセス中にリレーションシップをマージすることをお勧めします。 エンティティと同様に、テーブルまたはナレッジ グラフのエラーやギャップによって、リレーションシップがマージできないことがあります。 テーブルの読み込みプロセスの完了後に手動でリレーションシップをマージできます。

リレーションシップのマージの詳細

  1. テーブルの一番下にある空の行をクリックして、新しいリレーションシップを定義します。
  2. Origin Entity 列内をクリックし、表示されるドロップダウン矢印をクリックして、[エンティティ] ページでリレーションシップの関連元となるよう定義されたエンティティ タイプをクリックします。
  3. Relationship Type 列内をクリックして、ナレッジ グラフの新しいインスタンスが作成されるリレーションシップ タイプを定義します。
    • ナレッジ グラフですでに定義されているリレーションシップ タイプの場合は、表示されるドロップダウン矢印をクリックして、リストにあるリレーションシップ タイプをクリックします。 テキスト ボックスの入力を開始すると、既存のリレーションシップ タイプの名前が自動入力されます。
    • ナレッジ グラフの新しいリレーションシップ タイプを定義するには、テキスト ボックス内をクリックして、新しいリレーションシップ タイプの名前を指定します。 ウィザード全体を通じて、新しいリレーションシップ タイプはアスタリスクで識別されます。 可能であれば、既存のリレーションシップ タイプを使用します。
    • ソース テーブルのフィールドが、作成するリレーションシップのタイプを指定する場合は、表示されるドロップダウン矢印をクリックして、ドロップダウン リストの一番下にある [列] オプションをクリックします。 リストがテーブル内のすべてのフィールドを表示するよう変更されます。 ナレッジ グラフに作成するリレーションシップのタイプを指定するデータのフィールドをクリックします。
  4. Destination Entity 列内をクリックし、表示されるドロップダウン矢印をクリックして、[エンティティ] ページでリレーションシップの関連先となるよう定義されたエンティティ タイプをクリックします。
  5. Merge 列をオンにして、テーブル内のデータと、ナレッジ グラフの既存のエンティティとリレーションシップを比較し、可能な場合は、エンティティとリレーションシップをマージします。
  6. [次へ] をクリックして、ウィザードの [プロパティ] ページに進みます。

ナレッジ グラフに作成するプロパティの定義

ソース テーブルのデータをナレッジ グラフのエンティティとリレーションシップのプロパティに格納できます。 これを実行するために、操作に使用できる複数の情報のリストが提供されます。 ソース テーブルまたはフィーチャクラスのすべてのフィールドのリスト、ウィザードの [エンティティ] ページで定義されたエンティティのリスト、およびウィザードの [リレーションシップ] ページで定義されたすべてのリレーションシップのリストが用意されています。

  • [列名] リストは未使用フィールドと使用中フィールドの 2 つに分かれています。 エンティティが [エンティティ] ページで定義済みと確認されたフィールドは使用中です。 テーブルの他のフィールドは、未使用リストに表示されます。
  • [エンティティ] リストでは、エンティティ タイプが括弧で囲まれ、続いてフィールド名が表示されます。 たとえば、テーブルの ID フィールドに Employee エンティティを一意に識別する従業員番号が格納されている場合、リストには (Employee) ID と表示されます。
  • [リレーションシップ] リストでは、リレーションシップの関連元エンティティ、リレーションシップ タイプ、関連先エンティティが各エントリに表示されます。 たとえば、関連元と関連先が Employee エンティティで、リレーションシップ タイプが WorksFor の場合、リストには (Employee) ID WorksFor (Employee) ID と表示されます。

上記の 3 つのリストを使用して、ソース テーブルのデータをエンティティとリレーションシップのプロパティに変換するためのルールを定義します。 エンティティまたはリレーションシップを選択すると、[プロパティ] テーブルに、定義済みのルールが表示されます。

デフォルトでは、エンティティごとに、そのエンティティを一意に識別するフィールドのデータをナレッジ グラフのプロパティに保存するためのルールが存在します。 このようなルールの行は、[プロパティ] テーブル内で鍵のアイコン Locked プロパティ で示され、エンティティが定義される方法を変更しない限り削除することはできません。 フィールド名とプロパティ名が直接一致しない場合、[エンティティ] リスト内のそのエンティティの横に感嘆符のアイコン エラー が示されます。 また、[プロパティ] テーブル内のそのルールも無効と見なされます。 正しいプロパティ名を識別するようにそのルールを更新してください。 エラーが修正されるまで、データ読み込み操作を実行することはできません。

  1. [エンティティ] リストの最初のエンティティがデフォルトで選択され、このエンティティを定義するルールが [プロパティ] テーブルに表示されます。 このエンティティを使用して続行するか、別のグラフ アイテムを選択します。
  2. [プロパティ] テーブルの一番下にある空の行をクリックします。
  3. Property Name 列内をクリックし、選択したグラフ アイテムのプロパティを定義します。
    • ナレッジ グラフですでに定義されているプロパティの場合は、表示されるドロップダウン矢印をクリックして、リストにあるプロパティをクリックします。 テキスト ボックスの入力を開始すると、既存のプロパティ名が自動入力されます。
    • ナレッジ グラフの新しいプロパティを定義するには、テキスト ボックス内をクリックして、新しいプロパティの名前を指定します。 ウィザード全体を通じて、新しいプロパティはアスタリスクで識別されます。 可能な限り、既存のプロパティを使用します。
  4. 既存のプロパティの場合は、データ タイプが Data Type 列に表示されます。 新しいプロパティの場合は、ドロップダウン矢印をクリックして、該当するデータ タイプをクリックします。
  5. Property Value 列内をクリックし、グラフ アイテムのプロパティにデータを格納するためのルールを定義します。
    • 表示されるドロップダウン矢印をクリックし、テーブル内でデータがナレッジ グラフに格納されるフィールドをクリックします。 このフィールドが [列名] リスト内で未使用から使用中に移動されます。
    • テーブルに定義されたすべてのグラフ アイテムについて、このプロパティに保存される値をテキスト ボックスに入力します。 この値は、プロパティのデータ タイプに対して検証されます。つまり、整数プロパティにテキストが指定されている場合、値は格納されません。
  6. テーブルのデータとナレッジ グラフの既存のグラフ アイテムを比較して、それらのデータがマージ可能かどうかを決定するときに、Use For Merge 列をオンにして、このプロパティを含めます。

    識別されたすべてのフィールドとプロパティが一致する場合、アイテムはマージされます。 アイテムをマージできない場合、新しいアイテムが作成されます。

  7. [エンティティ] または [リレーションシップ] リストで別のグラフ アイテムを選択し、ソース テーブルのデータをナレッジ グラフのグラフ アイテム プロパティに変換する追加のルールを定義します。
  8. [次へ] をクリックして、ウィザードの [空間] ページに進みます。
注意:

[列名] リストから [プロパティ] テーブルにフィールドをドラッグできます。 このフィールドは自動的に Property Value 列に表示されます。 フィールド名とプロパティ名が一致する場合は、プロパティ名が自動的に Property Name 列に表示されます。 フィールド名とプロパティ名が一致しない場合は、フィールドの名前が、グラフ アイテムとして作成される新しいプロパティの名前として Property Name 列に表示されます。

エンティティの空間フィーチャの定義

ソース テーブルまたはフィーチャクラスで、データがナレッジ グラフのエンティティを表すフィールドを識別します。 ウィザードの [エンティティ] ページで定義されたエンティティが、テーブルの [エンティティ] 列に表示されます。

ナレッジ グラフでは、WGS84 座標系のみサポートされています。 すべてのフィーチャと座標で、この座標系が使用されるとみなされます。

  1. テーブルのデータを使用して空間フィーチャを定義できる場合、各エンティティの Create Spatial 列をオンにします。
  2. 既存のエンティティの場合、データ タイプが Geometry Type 列に表示されます。 新しくオンにしたエンティティ (エンティティ名の横にアスタリスクが示されている) の場合、ドロップダウン矢印をクリックし、該当するジオメトリ タイプをクリックします。

    空間フィーチャが、Spatial Property Name 列に示されたエンティティのプロパティに格納されます。 このプロパティ名は変更できません。

  3. オンにしたエンティティごとに、その空間フィーチャが作成される方法を定義します。 テーブル内のエンティティをクリックします。 テーブルの下に、[入力空間形式] ドロップダウン リストが表示されます。 ドロップダウン リストをクリックし、ソース テーブルまたはフィーチャクラスに格納されている空間データに該当するオプションをクリックします。
    • [ジオメトリ] - ソース フィーチャクラスのジオメトリ フィールドに格納されている形状がナレッジ グラフのエンティティに保存されます。 ジオメトリ フィールドを識別するために表示される [入力ジオメトリ フィールド] ドロップダウン リストを使用します。 ArcGIS ジオメトリ形式で定義されている形状が格納されるフィールドのみをナレッジ グラフに格納できます。
    • [座標] - エンティティの空間フィーチャがテーブルのデータから構築されます。 フィーチャの座標を含むフィールドを指定します。 ソース テーブルのフィールドが、[利用可能なフィールド] リストに表示されます。 空間座標が格納されるフィールドごとにフィールドをクリックして、[追加] をクリックします。フィールドが [選択フィールド] リストに追加されます。
  4. [次へ] をクリックして、ウィザードの [確認と実行] ページに進みます。

構成の確認とデータの読み込み

ウィザードの [確認と実行] ページには、ナレッジ グラフに作成されるエンティティ、リレーションシップ、プロパティのサマリーが表示されます。 ウィザードで特定されたすべての問題が修正されるまで、[実行] ボタンは利用できません。

  1. ソース テーブルまたはフィーチャクラスからナレッジ グラフのエンティティ、リレーションシップ、プロパティ、空間フィーチャにデータを読み込むためのすべてのルールを確認します。
  2. 将来使用するためにルールの最終セットを保存するには、[構成の保存] をオンにします。 表示されるリストのドロップダウン矢印をクリックし、既存のデータ読み込み構成の名前をクリックしてその構成を上書きします。 または、名前を入力して、新しいデータ読み込み構成にルールを格納します。
  3. [完成後に新しいリンク チャートに結果を表示] をオンにすると、データ変換プロセスで作成されたエンティティとリレーションシップを新しいリンク チャートに追加して確認できます。
  4. [実行] 実行 をクリックします。
  5. データ読み込みプロセス中にエラーが検出された場合は、ページの下部に警告が表示されます。 警告の [詳細の表示] リンクをクリックします。

    ダイアログ ボックスにエラーのリストが表示されます。 たとえば、テーブルやプロパティの NULL 値、またはデータ タイプの不一致により、2 つのエンティティがマージされず、エラーが発生します。

  6. このリストを保持し、後で変換プロセスの結果を評価するときに確認するには、[コピー] ボタン コピー をクリックします。 テキスト エディターを開き、コピーしたメッセージを貼り付けてから、テキスト ファイルに保存します。
  7. テーブルの読み込みビューを閉じます。

関連トピック