注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
保存済み関連検索 V2 は、お使いのエンロールメントでは有効になっていない場合があります。有効になっている場合は、V1 の関連検索パネルに置き換わります。関連検索パネルであらゆるオブジェクトタイプステップを追加できない場合、お使いのエンロールメントでは保存済み関連検索 V1 が使用されています。
グラフ上のオブジェクトから基本的な関連検索を実行すると、オントロジーをすばやく探索し、関連オブジェクトをグラフに追加できます。異なるオブジェクトタイプを横断する、複数ステップの絞り込み済みグラフを作成するには、関連検索パネルを使用します。このパネルでは、ポイントアンドクリックのインターフェースでロジックを組み立てながら、新しいグラフを生成できます。組み立てた関連検索はリソースとして保存し、ほかの Vertex グラフやテンプレートで再利用できます。保存済み関連検索 V1 と比較して、次のことができます。
保存済み関連検索は、パスの計画とパスの実行という2つのフェーズで動作します。計画フェーズでは、作成した定義が具体的なクエリパスのリストに変換されます。実行フェーズでは、それらのパスに沿ってオントロジーに対するクエリが実行され、結果がグラフに追加されます。
クエリパスは、関連検索で定義されたステップによって制約される、オントロジー内の具体的な1つの経路です。関連検索の作成が完了すると、生成されるクエリパスを表示できます。

計画は、何かが実行される前に失敗したり、警告を返したりすることがあります。たとえば、関連検索がクエリの最大深度やクエリパス数の上限を超えると、このような状況が発生します。詳細については、制限を参照してください。
計画が生成されると、計画内の各クエリパスを実行できます。各クエリパスは、次の3つのステージで実行されます。

各クエリパスの結果は、そのパスの実行が完了するとすぐにグラフに追加されます。後のステップのフィルターで前のステップの結果を絞り込めるのは、この枝刈りが行われるためです。
関連検索パネルを開くには、関連検索ドロップダウンメニューでリレーションの横にある開くを選択します。ワークスペースの右側にある関連検索タブを選択することもできます。関連検索を開始するには、グラフ上でオブジェクトを選択し、選択したオブジェクトから関連検索を作成するためのリンクを選択します。
| リレーションの開くを選択 | ワークスペースの関連検索タブを選択 |
|---|---|
![]() | ![]() |
関連検索内のすべてのクエリパスは、開始ブロック内のオブジェクトから終了ブロック内のオブジェクトまで続きます。
開始ブロック: 開始ブロックには、グラフ上で現在選択されている開始オブジェクトが含まれます。開始オブジェクトを変更するには、選択を変更します。開始ブロックは自動的に更新され、選択したオブジェクトタイプごとにオブジェクト数が表示されます。複数のタイプのオブジェクトから開始できます。
終了ブロック: 終了ブロックは関連検索の最後のステップで、終了と旗のアイコンが表示されます。その下にステップを追加すると、新しいステップが終了ブロックになります。終了ブロックはほかのステップと同様に、オブジェクトタイプ、リンクタイプ、フィルター、積集合オブジェクトを設定できます。
出発空港と到着空港のように、調べたい経路の両端がわかっている場合は、まず開始ブロックと終了ブロックを定義し、その間にステップを追加します。乗り継ぎ便の例では、この方法に沿って、終了ブロックに積集合オブジェクトを使用し、1つの空港で終了するようにしています。
開始オブジェクトを定義したら、ステップを追加して関連検索の残りの部分を定義できます。各ステップは、オブジェクトタイプ、リンクタイプ、またはその両方で制約できます。
各ステップでオブジェクトタイプを選択すると、結果に表示するオブジェクトタイプを明示的に指定できます。オントロジー内の接続されたすべてのオブジェクトを通るパスを作成するには、代わりにあらゆるオブジェクトタイプを選択します。
| ステップまたはセクションを追加 | Runway ステップの後に続くあらゆるオブジェクトタイプステップ |
|---|---|
![]() | ![]() |
オブジェクトタイプの代わりに、またはオブジェクトタイプと組み合わせて、特定のリンクタイプとリンクの方向を選択し、結果をさらに制約することもできます。
ステップで特定のオブジェクトタイプを選択した場合、プロパティフィルターを適用して返されるオブジェクトを絞り込めます。これを行うには、オブジェクトタイプの横にあるフィルターアイコンを選択し、絞り込みに使用するプロパティを選択します。ステップ内のオブジェクトタイプごとに異なるフィルターを指定できます。あるオブジェクトタイプのフィルターは、ほかのオブジェクトタイプの結果には制約を与えません。
同様に、オブジェクトベースのリンクタイプでも絞り込めます。ステップで使用するリンクタイプがオントロジー内のオブジェクトに基づいている場合、その元オブジェクトのプロパティで絞り込めます。
積集合オブジェクトを追加を選択して、オブジェクトタイプのステップを事前定義されたオブジェクト集合に制限することもできます。これは、「A から B を通るパスを検索する」といった問いに役立ちます。次の画像では、Runway ステップが名前を指定した5つの滑走路に制限されています。乗り継ぎ便の例では、積集合オブジェクトを使用して、1つの空港で検索を終了しています。
デフォルトでは、関連検索は直線的です。クエリパスは最上位のステップから最下位のステップへと構築されます。また、一連のステップを繰り返したり、一部のクエリパスで終了ステップや別の中間ステップまでスキップしたりすることもできます。こうしたユースケースに対応するため、保存済み関連検索 V2 では、ステップを通る別のパスを定義する方法をいくつか用意しています。
ステップループ: ステップループは、指定した回数を上限として1つのステップを繰り返します。ステップループで結果を生成するには、そのステップがあらゆるオブジェクトタイプのステップであるか、自身へのリンクを持つオブジェクトタイプを使用している必要があります。次の例では、開始オブジェクトから4ホップ以内にある、任意のタイプのオブジェクトを検索します。
セクションループ: ステップのグループを繰り返すには、セクションを作成します。その後、ステップループと同じ方法で、セクションの繰り返し回数を指定できます。次の例は、Airport オブジェクトと Flight オブジェクトの両方を含むセクションを示しています。セクションを使うと、空港からフライト、空港、フライトへと続くような繰り返しパターンを検索できます。セクションループで結果を生成するには、セクションの最後のステップのオブジェクトタイプと、最初のステップのオブジェクトタイプの間にリンクが存在する必要があります。
スキップループ: スキップループは、後続のステップをスキップするクエリパスを作成します。スキップループを描画するには、スキップ元のブロックを選択し、スキップ先のステップへ矢印を描画します。次の例では、スキップループが開始ブロックから終了ブロックへと伸びています。これにより、あらゆるオブジェクトタイプのステップを経由するパスに加えて、開始空港からデンバー国際空港へ直接向かうクエリパスが追加されます。
次の条件を満たす乗り継ぎフライトを検索するとします。
これは、次の関連検索で定義できます。
セクションは最大5回繰り返されるため、この定義から、フライト1便から5便までの5つのクエリパスが計画されます。次の実行例では、最初の3つのパスが完了した後に実行が一時停止されています。クエリパスにカーソルを合わせると、そのパスのステップ、リンク、フィルター、積集合オブジェクトを確認できます。
結果には、条件を満たす、サンフランシスコ国際空港からジョン・F・ケネディ国際空港までのすべての経路が含まれます。次のグラフでは、フライトをノードにグループ化し、階層レイアウトで配置しています。関連検索から直接追加された結果は、このようにはグループ化も配置もされません。

パラメーターを使うと、ステップを編集せずにフィルターの値を変更できるため、関連検索を再利用できます。パラメーターを表示または作成するには、関連検索パネルの右上隅にあるパラメーターを表示を選択します。パラメーターを作成するには、パラメーターを追加するを選択し、データ型として文字列、数値、ブール値、日付、タイムスタンプのいずれかを選択します。
パラメーターを追加した後は、値を指定したり、編集ボタンを選択して名前、説明、デフォルト値、必須かどうかを変更したりできます。関連検索を読み込むたびに、デフォルト値が使用されます。
データ型が一致するフィルター項目であれば、どの項目でもパラメーターを使用できます。使用するには、フィルターを選択し、パラメータータブを開いて、ドロップダウンメニューからパラメーターを選択します。パラメーターの値を変更すると、そのパラメーターを使用するすべてのフィルターが新しい値に更新されます。
関連検索にパラメーターがある場合、グラフ内、または Vertex テンプレートの一部として、実行時にその値を指定できます。たとえば、グラフが Workshop に埋め込まれている場合は、Workshop 変数でパラメーター値を指定できます。
関連検索をほかのグラフやグラフテンプレートで再利用するには、リソースとして保存します。関連検索のタブにあるドロップダウンメニューを選択し、保存を選択します。関連検索を保存ダイアログで、ファイル名を入力し、場所を選択します。
同じダイアログで、開始オブジェクトタイプを指定できます。保存した関連検索は、すべての Vertex グラフで、それらのタイプのオブジェクトの関連検索メニューに表示されます。
保存済みの関連検索を開くには、関連検索パネルのヘッダーにある + アイコンを選択し、関連検索をロードを選択して、リソースピッカーから関連検索を選択します。関連検索では、グラフ上で現在選択されているオブジェクトが開始オブジェクトとして使用されます。代わりに新しい空の関連検索を開始するには、関連検索を作成を選択します。
保存済み関連検索を Marketplace 製品に追加すると、ほかのユーザーがインストールして再利用できます。関連検索は V2 で保存する必要があり、積集合オブジェクトは使用できません。詳しくは、サポートされる機能とパッケージ化の制限を参照してください。
お使いのエンロールメントで保存済み関連検索 V2 が有効になっている場合でも、V1 で作成された関連検索を開いて使用できます。初めて開くと、再保存する前に移行された関連検索が正しいことを確認するよう警告が表示されます。Vertex のグラフとテンプレートでは、関連検索を V2 で明示的に保存するまで、引き続き V1 バージョンが実行されます。
V1 のフィルターで使用されているプロパティまたはパラメーターを読み込めない場合、移行の警告には、保存時に削除されるフィルターが示されます。保存する前に、その入力の問題を解決するか、フィルターを再作成してください。フィルターを削除すると、元の関連検索より多くの結果が返される場合があります。
V1 の関連検索は V2 に対応していますが、次の1つの例外があります。
V1 では、範囲フィルターの最小値と最大値が逆の順序で入力されていた場合、自動的に入れ替えられていました。V2 では入れ替えられないため、値が逆になっている範囲フィルターでは結果が返されません。V1 の関連検索を V2 で保存する前に、範囲フィルターを確認してください。
サービスを保護し、負荷の高いクエリを防ぐため、保存済み関連検索には次の制限が適用されます。記載されている値はデフォルト値であり、お使いのエンロールメントでは異なる値が設定されている場合があります。
ほとんどの制限では、関連検索が失敗することはありません。代わりに、関連検索は一部の結果とともに、どの制限に達したかを説明する警告を返します。制限に関する警告が表示された場合は、実行前にフィルターまたは積集合のオブジェクトを追加するか、ループの繰り返し回数を減らすか、長いクエリパスを除いてください。
パス計画では、オントロジーのオブジェクトタイプとリンクタイプのみが使用されます。これらの制限は、見つかるオブジェクトの数ではなく、関連検索の構造によって決まります。
| 制限 | デフォルト | 制限に達したときの動作 |
|---|---|---|
| 関連検索内のステップ数 | 100 | 計画が失敗します。 |
| 関連検索内のループ数 | 100 | 計画が失敗します。 |
| 検索の深さ | 50ホップ | 計画で検索の拡張が停止し、それまでに見つかったクエリパスが返されます。 |
| すべてのステップで探索されるオブジェクトタイプ数 | 10,000 | 計画で検索の拡張が停止し、それまでに見つかったクエリパスが返されます。 |
| 開始オブジェクトタイプごとのクエリパス数 | 500 | 計画で最も短い500件のクエリパスが返されます。 |
無制限に繰り返すよう設定されたループも、検索の深さとクエリパスの制限によって制約されます。
これらの制限は、各クエリパスの各ステップの実行時に適用されます。
| 制限 | デフォルト | 制限に達したときの動作 |
|---|---|---|
| ステップが返すオブジェクト数 | 50,000 | ステップの結果が切り詰められます。 |
| ステップ内でリンクが読み込まれるオブジェクト数 | 50,000 | 制限を超えたオブジェクトのリンクは読み込まれません。 |
| ステップ内で読み込まれるリンク数 | 1,000,000 | ステップのリンクが切り詰められます。 |
クエリパスは1件ずつ実行されます。関連検索に複数のクエリパスがある場合、グラフに追加されるオブジェクトの合計数がステップごとの制限を超えることがあります。