Skip To Content

NoSQL データ ストアとして登録される Neo4j データベースに関する注意事項

ArcGIS Knowledge サイトに登録されている NoSQL データ ストアとして Neo4j データベースを使用する場合、ナレッジ グラフが正しく動作するために検討すべき詳細があります。

ナレッジ グラフの作成

ArcGIS Knowledge サイトで Neo4j データベースを使用するための最初の手順は、Neo4j 管理コマンドを使用して Neo4j データベースを作成することです。 データベースを NoSQL データ ストアとしてサイトに登録します。

Neo4j データベースを NoSQL データ ストアとして登録する場合、データベース名または割り当てられているエイリアスを使用して登録できます。 使用する名前またはエイリアスには、ナレッジ グラフと同じ命名規則が適用されます。 NoSQL データ ストアを作成した後、Neo4j ではデータベースの名前を変更できず、エイリアスを変更または削除できません。

Neo4j インスタンスに接続する際の認証情報を指定する場合、データベースにアクセスするユーザーまたは ID に、作成されるナレッジ グラフが必要とするすべての操作をサポートするのに十分な権限が付与されていることを確認します。

NoSQL データ ストアに関連付けられたナレッジ グラフは、NoSQL データ ストアの作成時に使用された認証情報に関連付けられたアクセス レベルを持ちます。 これらの認証情報は、どのクライアントがナレッジ グラフ サービスのコンテンツにアクセスしても考慮されます。 たとえば、ユーザーが特定のエンティティとリレーションシップにのみアクセスできる場合、ArcGIS Pro プロジェクトの調査ではそれらのアイテムしか利用できません。

Neo4j データベースの管理の詳細

データの管理

NoSQL データ ストアを使用してナレッジ グラフを作成する場合は、Neo4j データベースに格納されるデータの管理方法を選択する必要があります。 この選択により、Neo4j データベースに関する他の要因が決定されます。

たとえば、ArcGIS Knowledge サイトに関連付けられているグラフ ストアにスキーマ情報が格納されているとします。この情報は、サイトに関連付けられている Neo4j データベースに格納されている情報と同期する必要があるとします。 これを実現する方法は、データベース内のデータの管理方法によって異なります。

ArcGIS Enterprise 配置および ArcGIS Data Store グラフ ストアのバックアップおよび復元計画と調和がとれた、Neo4j データベースのバックアップおよび復元計画を立てる必要があります。

ArcGIS 管理のデータ

ナレッジ グラフに ArcGIS 管理のデータが含まれる場合、ArcGIS Enterprise 配置に NoSQL データ ストアとして追加する際に、登録済みデータベースが空である必要があります。 Neo4j データベースが完全に空でない場合、ArcGIS 管理のデータを使用してナレッジ グラフを作成する操作は失敗します。

ArcGIS 管理のデータを含む NoSQL データ ストアを作成する場合、Neo4j データベースへのアクセスを提供する認証情報に、組み込みの Neo4j ロール アーキテクトに対応する権限が必要です。

ArcGIS 管理のデータが含まれる Neo4j データベースにアクセスできる NoSQL データ ストアは 1 つしか作成できません。 同様に、データベースに ArcGIS 管理のデータが含まれる NoSQL データ ストアにアクセスできるナレッジ グラフも、1 つしか作成できません。 たとえば、NoSQL データ ストアをユーザー管理データを含むものとして指定した場合、同じ NoSQL データ ストアにアクセスする 2 つ目のナレッジ グラフを作成することはできません。

ArcGIS 管理のデータを含むナレッジ グラフを作成すると、ナレッジ グラフの稼働を維持するには、Neo4j データベースと ArcGIS Knowledge グラフ ストア間で、エンティティおよびリレーションシップの ID を同期する必要があります。 データ整合性を維持するために、ナレッジ グラフに関連付けられているすべてのシステムの編集は、ArcGIS ProArcGIS Enterprise で行われた操作およびリクエストを介してのみサポートされます。

ArcGIS 以外からデータの編集やその他の Neo4j データベースへの変更を行わないでください。 これには、Neo4j データベースに関連付けられたインデックスの変更または削除も含まれます (検索のサポートにインデックスが必要なため)。

ユーザー管理のデータ

Neo4j データベースにデータが含まれている場合、データベースを NoSQL データ ストアとして登録し、NoSQL データ ストアがユーザー管理データを持つものとして指定されているナレッジ グラフを作成することができます。

ユーザー管理のデータを含む NoSQL データ ストアを作成する場合、Neo4j データベースへのアクセスを提供する認証情報に、組み込みの Neo4j ロール リーダーに対応する権限が必要です。 ただし、ナレッジ グラフの作成時に検索を有効にする場合は、組み込みのロール アーキテクトを使用する必要があります。検索機能を使用するには、Neo4j データベースでフルテキスト インデックスを作成するために十分な権限が必要です。

ナレッジ グラフ内のすべてのエンティティとリレーションシップには、一意の ID が必要です。 ユーザー管理の NoSQL データ ストアでナレッジ グラフを作成する場合、データベースには一意の ID となるプロパティが含まれている必要があります。 一意の ID プロパティの名前は、すべてのエンティティ タイプとリレーションシップ タイプで同じである必要があり、ナレッジ グラフを作成する際に指定する必要があります。 プロパティに格納される値は、すべてのエンティティ タイプまたはすべてのリレーションシップ タイプで一意である必要があるものの、データベース内のすべてのエンティティおよびリレーションシップでグローバルに一意である必要はありません。

ナレッジ グラフの検索が有効な場合、検索をサポートするために Neo4j データベース内に ArcGIS Knowledge がフルテキスト インデックスを作成します。 これらのインデックスを ArcGIS Knowledge 以外で更新または削除しないでください。 インデックス名は esri__ で始まります。

ナレッジ グラフのデータを検索してリンク チャートまたはマップに追加するには、Neo4j データベースのデータ モデルを ArcGIS Knowledge グラフ ストアと同期する必要があります。 Neo4j データベース内のノードまたはリレーションシップに複数のラベルが存在する場合、データ モデルの同期は失敗します。 失敗した場合、以前に同期されたデータ モデル情報に関連付けられたデータにはアクセスできますが、データ モデルの同期されていない部分に関連付けられたリンク チャートまたはマップにデータを追加することはできません。 Neo4j データベースでスキーマが変更されるたびに、データ モデルを同期する必要があります。

データベースに、別のナレッジ グラフによって作成された ArcGIS 管理のデータが含まれておらず、各データ ストアが異なる認証情報で同じデータベースにアクセスする限り、同じ Neo4j データベースにアクセスする NoSQL データ ストアを多数作成できます。 また、ユーザー管理のデータを持つものとして指定された、単一の NoSQL データ ストアにアクセスするナレッジ グラフも多数作成できます。 どちらの方法でも、同じ Neo4j 基礎データベースにアクセスする、多数のナレッジ グラフを作成できます。 ArcGIS Enterprise ポータルを使用すると、各ナレッジ グラフにアクセスできるユーザーを制御できます。

たとえば、2 つのナレッジ グラフがあり、それぞれが異なる NoSQL データ ストアに関連付けられており、各 NoSQL データ ストアが別々の認証情報を使用して Neo4j データベースにアクセスする場合、各ナレッジ グラフが ArcGIS Enterprise ポータルの正しいユーザー グループで共有されていることを確認する必要があります。 各ナレッジ グラフを別々のポータル グループと共有します。 各ポータル ユーザーが、正しいナレッジ グラフを使用して正しいコンテンツにアクセスできるよう、各ポータル グループのメンバーシップを設定します。

同様に、Neo4j データベースへのフル アクセスを提供する認証情報を使用して、同じ NoSQL データ ストアにアクセスする 2 つのナレッジ グラフを作成できます。 ただし、ArcGIS Enterprise ポータルでナレッジ グラフの共有方法を変えることで、異なるポータル ユーザーが利用可能な情報で行えることをコントロールできます。 すべてのメンバーに閲覧者ロールが割り当てられており、コンテンツに対する読み取り専用アクセスしか持たないグループには、1 つのナレッジ グラフを共有できます。 もう 1 つのナレッジ グラフは、メンバーに編集者ロールがあり、エンティティとリレーションシップ、およびそのプロパティを編集できる別のグループに共有できます。

Neo4j データベースでユーザー管理のデータにアクセスするナレッジ グラフは、ArcGIS Pro プロジェクトでアクセスすると読み取り専用になります。 ArcGIS Enterprise 開発者 API を使用して同じナレッジ グラフにアクセスすると、エンティティとリレーションシップ、およびそのプロパティの値を編集できます。ただし、ナレッジ グラフのデータ モデルは読み取り専用のままです。 つまり、新しいエンティティ タイプやリレーションシップ タイプを追加したり、既存のタイプに新しいプロパティを追加したりすることはできません。

データベースの削除

ナレッジ グラフが不要になった場合は、Enterprise ポータルで削除できます。 ナレッジ グラフのデータはグラフ ストアから自動的に削除されます。 ただし、ナレッジ グラフが NoSQL データ ストアを参照している場合、データ ストアと関連付けられている Neo4j データベースは自動的に削除されません。

ナレッジ グラフに ArcGIS 管理のデータが含まれていた場合、Neo4j データベースは空でないため、同じ NoSQL データ ストアから別の ArcGIS 管理のナレッジ グラフを作成することはできません。 ただし、ナレッジ グラフにユーザー管理のデータが含まれていた場合、既存の NoSQL データ ストア内のデータにアクセスする新しいナレッジ グラフを作成することができます。

ArcGIS KnowledgeNeo4j データベースを使用する必要がなくなった場合、Enterprise ポータル内の NoSQL データ ストアを削除することができます。 これにより、関連する Neo4j データベースは削除されません。 NoSQL データ ストア アイテムを削除する前に、設定を確認して、参照先の Neo4j データベースを記録します。 次に、組織のガイドラインに従い、Neo4j ユーティリティと管理コマンドを使用して、データをアーカイブし、Neo4j データベースを削除する手順を実行します。

注意:

ナレッジ グラフが Enterprise ポータルから削除された後は、ArcGIS Pro プロジェクトに格納されている調査や、元のナレッジ グラフを参照していたマップまたはリンク チャート内のナレッジ グラフ レイヤーを使用できなくなります。

ナレッジ グラフが新しい Enterprise 配置に転送された場合、マップまたはリンク チャートの既存のナレッジ グラフ レイヤーを更新し、新しいナレッジ グラフを使用することができます。 既存の調査を更新して、新しいナレッジ グラフを使用することもできます。

元のナレッジ グラフのデータが使用できなくなった場合、削除されたナレッジ グラフを参照している調査、マップ レイヤー、リンク チャートを、それらが存在するすべてのプロジェクトから削除するか、必要に応じてプロジェクトを削除します。