注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

保存済み関連検索 V2

保存済み関連検索 V2 は、お使いのエンロールメントでは有効になっていない場合があります。有効になっている場合は、V1 の関連検索パネルに置き換わります。関連検索パネルであらゆるオブジェクトタイプステップを追加できない場合、お使いのエンロールメントでは保存済み関連検索 V1 が使用されています。

グラフ上のオブジェクトから基本的な関連検索を実行すると、オントロジーをすばやく探索し、関連オブジェクトをグラフに追加できます。異なるオブジェクトタイプを横断する、複数ステップの絞り込み済みグラフを作成するには、関連検索パネルを使用します。このパネルでは、ポイントアンドクリックのインターフェースでロジックを組み立てながら、新しいグラフを生成できます。組み立てた関連検索はリソースとして保存し、ほかの Vertex グラフやテンプレートで再利用できます。保存済み関連検索 V1 と比較して、次のことができます。

  • 複数のタイプのオブジェクトを起点とし、各ステップで複数のオブジェクトタイプに一致させる。
  • あらゆるオブジェクトタイプステップを、すべてのオブジェクトタイプに一致するワイルドカードとして使用する。
  • 各ステップで複数のリンクタイプをたどり、各リンクの方向を選択する。
  • オブジェクトベースのリンクタイプのプロパティで絞り込む。
  • ステップまたはステップのグループを繰り返し、ステップをスキップする代替パスを追加する。
  • 保存済み関連検索を Marketplace 製品にパッケージ化する。

保存済み関連検索の仕組み

保存済み関連検索は、パスの計画とパスの実行という2つのフェーズで動作します。計画フェーズでは、作成した定義が具体的なクエリパスのリストに変換されます。実行フェーズでは、それらのパスに沿ってオントロジーに対するクエリが実行され、結果がグラフに追加されます。

パスの計画

クエリパスは、関連検索で定義されたステップによって制約される、オントロジー内の具体的な1つの経路です。関連検索の作成が完了すると、生成されるクエリパスを表示できます。

乗り継ぎ便の例のクエリパス表示。1便から5便までの5件中5件のクエリパスが選択され、実行可能な状態になっています。

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

クエリパスの最大数を超えたため、一部のパスが結果に含まれない可能性があるという警告が表示されたクエリパス表示。

パスの実行

計画が生成されると、計画内の各クエリパスを実行できます。各クエリパスは、次の3つのステージで実行されます。

  1. 前方検索: 起点から接続を1ステップずつたどり、探索したすべての接続を記録します。
  2. 後方枝刈り: 最後のステップからさかのぼり、有効な結果につながらない探索済みオブジェクトを除外します。
  3. リンクの接続: 残ったパス上のリンクのみを返します。これらのリンクがグラフに追加されます。

保存済み関連検索が起点から1ステップずつ前方検索し、結果につながらない接続を後方枝刈りで除外した後、残ったリンクを接続する様子を示すアニメーション。

各クエリパスの結果は、そのパスの実行が完了するとすぐにグラフに追加されます。後のステップのフィルターで前のステップの結果を絞り込めるのは、この枝刈りが行われるためです。

関連検索を作成する

関連検索パネルを開くには、関連検索ドロップダウンメニューでリレーションの横にある開くを選択します。ワークスペースの右側にある関連検索タブを選択することもできます。関連検索を開始するには、グラフ上でオブジェクトを選択し、選択したオブジェクトから関連検索を作成するためのリンクを選択します。

リレーションの開くを選択ワークスペースの関連検索タブを選択
Runway リレーションの行に「開く」ボタンが表示された関連検索メニュー。関連検索サイドバータブから開いた関連検索パネル。2個の Airport 開始オブジェクトが1個のリンクタイプで Runway ステップにリンクされています。

開始オブジェクトと終了オブジェクトを定義する

関連検索内のすべてのクエリパスは、開始ブロック内のオブジェクトから終了ブロック内のオブジェクトまで続きます。

開始ブロック: 開始ブロックには、グラフ上で現在選択されている開始オブジェクトが含まれます。開始オブジェクトを変更するには、選択を変更します。開始ブロックは自動的に更新され、選択したオブジェクトタイプごとにオブジェクト数が表示されます。複数のタイプのオブジェクトから開始できます。

終了ブロック: 終了ブロックは関連検索の最後のステップで、終了と旗のアイコンが表示されます。その下にステップを追加すると、新しいステップが終了ブロックになります。終了ブロックはほかのステップと同様に、オブジェクトタイプ、リンクタイプ、フィルター、積集合オブジェクトを設定できます。

1個の Airport オブジェクトを含む開始ブロックが、Any リンクで終了ブロックにリンクされた関連検索。終了ブロックには最大10回繰り返す「あらゆるオブジェクトタイプ」ステップがあります。

出発空港と到着空港のように、調べたい経路の両端がわかっている場合は、まず開始ブロックと終了ブロックを定義し、その間にステップを追加します。乗り継ぎ便の例では、この方法に沿って、終了ブロックに積集合オブジェクトを使用し、1つの空港で終了するようにしています。

ステップを追加する

開始オブジェクトを定義したら、ステップを追加して関連検索の残りの部分を定義できます。各ステップは、オブジェクトタイプ、リンクタイプ、またはその両方で制約できます。

各ステップでオブジェクトタイプを選択すると、結果に表示するオブジェクトタイプを明示的に指定できます。オントロジー内の接続されたすべてのオブジェクトを通るパスを作成するには、代わりにあらゆるオブジェクトタイプを選択します。

ステップまたはセクションを追加Runway ステップの後に続くあらゆるオブジェクトタイプステップ
「下にステップを追加」と「下にセクションを追加」の選択肢がある追加メニュー。Runway ステップが Any リンクで「あらゆるオブジェクトタイプ」ステップにリンクされています。後者のステップは関連検索の終了として指定されています。

オブジェクトタイプの代わりに、またはオブジェクトタイプと組み合わせて、特定のリンクタイプとリンクの方向を選択し、結果をさらに制約することもできます。

ステップのリンクタイプポップオーバー。Airport から Runway へのリンクタイプで順方向が選択されており、「リンクタイプを追加」ボタンが表示されています。

結果を絞り込む

ステップで特定のオブジェクトタイプを選択した場合、プロパティフィルターを適用して返されるオブジェクトを絞り込めます。これを行うには、オブジェクトタイプの横にあるフィルターアイコンを選択し、絞り込みに使用するプロパティを選択します。ステップ内のオブジェクトタイプごとに異なるフィルターを指定できます。あるオブジェクトタイプのフィルターは、ほかのオブジェクトタイプの結果には制約を与えません。

滑走路の長さが3000から7000の間であるというフィルターなどが表示された Runway ステップ。ホバー時に「フィルターを切り替え」ラベルが表示されています。

同様に、オブジェクトベースのリンクタイプでも絞り込めます。ステップで使用するリンクタイプがオントロジー内のオブジェクトに基づいている場合、その元オブジェクトのプロパティで絞り込めます。

2つの空港間のオブジェクトベースの Route リンクタイプのリンクタイプポップオーバー。ルート距離が1000から2000の間であるというフィルターが設定されています。

結果を特定のオブジェクトに制限する

積集合オブジェクトを追加を選択して、オブジェクトタイプのステップを事前定義されたオブジェクト集合に制限することもできます。これは、「A から B を通るパスを検索する」といった問いに役立ちます。次の画像では、Runway ステップが名前を指定した5つの滑走路に制限されています。乗り継ぎ便の例では、積集合オブジェクトを使用して、1つの空港で検索を終了しています。

積集合オブジェクトによって特定の5つの滑走路に制限された Runway ステップ。

ステップを繰り返す、スキップする

デフォルトでは、関連検索は直線的です。クエリパスは最上位のステップから最下位のステップへと構築されます。また、一連のステップを繰り返したり、一部のクエリパスで終了ステップや別の中間ステップまでスキップしたりすることもできます。こうしたユースケースに対応するため、保存済み関連検索 V2 では、ステップを通る別のパスを定義する方法をいくつか用意しています。

ステップループ: ステップループは、指定した回数を上限として1つのステップを繰り返します。ステップループで結果を生成するには、そのステップがあらゆるオブジェクトタイプのステップであるか、自身へのリンクを持つオブジェクトタイプを使用している必要があります。次の例では、開始オブジェクトから4ホップ以内にある、任意のタイプのオブジェクトを検索します。

あらゆるオブジェクトタイプのステップの繰り返しポップオーバー。最大訪問回数が4に設定され、ループするリンクタイプのオプションと、セクションとして表示するオプションがあります。

セクションループ: ステップのグループを繰り返すには、セクションを作成します。その後、ステップループと同じ方法で、セクションの繰り返し回数を指定できます。次の例は、Airport オブジェクトと Flight オブジェクトの両方を含むセクションを示しています。セクションを使うと、空港からフライト、空港、フライトへと続くような繰り返しパターンを検索できます。セクションループで結果を生成するには、セクションの最後のステップのオブジェクトタイプと、最初のステップのオブジェクトタイプの間にリンクが存在する必要があります。

最大5回繰り返すセクション。Flight ステップと、それに続く Airport ステップが含まれています。

スキップループ: スキップループは、後続のステップをスキップするクエリパスを作成します。スキップループを描画するには、スキップ元のブロックを選択し、スキップ先のステップへ矢印を描画します。次の例では、スキップループが開始ブロックから終了ブロックへと伸びています。これにより、あらゆるオブジェクトタイプのステップを経由するパスに加えて、開始空港からデンバー国際空港へ直接向かうクエリパスが追加されます。

開始ブロックから、デンバー国際空港に絞り込まれた終了ブロックへスキップループを描画するアニメーション。

例:乗り継ぎフライトを検索する

次の条件を満たす乗り継ぎフライトを検索するとします。

  • サンフランシスコ国際空港 (SFO) からの出発で始まる必要があります(開始オブジェクト)。
  • ジョン・F・ケネディ国際空港 (JFK) への到着で終わる必要があります(最後のステップの積集合オブジェクト)。
  • すべてのフライト区間が150分以内である必要があります(オブジェクトタイプフィルター)。
  • すべてのフライト区間の出発日が2023年1月1日から1月10日までの間である必要があります(オブジェクトタイプフィルター)。
  • 経路が SFO に引き返してはなりません(オブジェクトタイプフィルター)。
  • 結果のパスに含まれるすべてのフライトが順方向のフライトである必要があります(各フライトステップのリンク方向が進む)。

これは、次の関連検索で定義できます。

最大5回繰り返すセクションを持つ関連検索。セクションには、絞り込み済みの Flight ステップと SFO を除く Airport ステップが含まれ、その後にジョン・F・ケネディ国際空港に制限された最終 Airport ステップが続きます。Flight ステップから最終ステップへのスキップパスがあります。

セクションは最大5回繰り返されるため、この定義から、フライト1便から5便までの5つのクエリパスが計画されます。次の実行例では、最初の3つのパスが完了した後に実行が一時停止されています。クエリパスにカーソルを合わせると、そのパスのステップ、リンク、フィルター、積集合オブジェクトを確認できます。

乗り継ぎフライトの例のクエリパス表示。5つのパスのうち3つで一時停止しており、パス3のホバーカードには、各 Airport ステップと Flight ステップ、そのリンク、フィルター数、積集合が取られた最終 Airport ステップが表示されています。

結果には、条件を満たす、サンフランシスコ国際空港からジョン・F・ケネディ国際空港までのすべての経路が含まれます。次のグラフでは、フライトをノードにグループ化し、階層レイアウトで配置しています。関連検索から直接追加された結果は、このようにはグループ化も配置もされません。

サンフランシスコ国際空港から、デンバー国際空港またはアルバカーキ国際空港を経由し、さらにハーツフィールド・ジャクソン・アトランタ国際空港を経由してジョン・F・ケネディ国際空港へ向かう乗り継ぎフライトのグラフ。

追加機能

パラメーター

パラメーターを使うと、ステップを編集せずにフィルターの値を変更できるため、関連検索を再利用できます。パラメーターを表示または作成するには、関連検索パネルの右上隅にあるパラメーターを表示を選択します。パラメーターを作成するには、パラメーターを追加するを選択し、データ型として文字列、数値、ブール値、日付、タイムスタンプのいずれかを選択します。

関連検索パネルのパラメーターセクション。パラメーターを追加するボタンがあります。

パラメーターを追加した後は、値を指定したり、編集ボタンを選択して名前、説明、デフォルト値、必須かどうかを変更したりできます。関連検索を読み込むたびに、デフォルト値が使用されます。

パラメーターを編集フォーム。パラメーター名、説明、デフォルト値の項目と、必須の切り替えがあります。

データ型が一致するフィルター項目であれば、どの項目でもパラメーターを使用できます。使用するには、フィルターを選択し、パラメータータブを開いて、ドロップダウンメニューからパラメーターを選択します。パラメーターの値を変更すると、そのパラメーターを使用するすべてのフィルターが新しい値に更新されます。

AirportCode パラメーターを使用する Airport フィルター。フィルターのパラメータータブが開いており、AirportCode が選択されています。

関連検索にパラメーターがある場合、グラフ内、または Vertex テンプレートの一部として、実行時にその値を指定できます。たとえば、グラフが Workshop に埋め込まれている場合は、Workshop 変数でパラメーター値を指定できます。

保存する、読み込む

関連検索をほかのグラフやグラフテンプレートで再利用するには、リソースとして保存します。関連検索のタブにあるドロップダウンメニューを選択し、保存を選択します。関連検索を保存ダイアログで、ファイル名を入力し、場所を選択します。

同じダイアログで、開始オブジェクトタイプを指定できます。保存した関連検索は、すべての Vertex グラフで、それらのタイプのオブジェクトの関連検索メニューに表示されます。

関連検索を保存ダイアログ。開始オブジェクトタイプ、ファイル名、場所の項目と、関連検索の開始点と終了点のプレビューがあります。

保存済みの関連検索を開くには、関連検索パネルのヘッダーにある + アイコンを選択し、関連検索をロードを選択して、リソースピッカーから関連検索を選択します。関連検索では、グラフ上で現在選択されているオブジェクトが開始オブジェクトとして使用されます。代わりに新しい空の関連検索を開始するには、関連検索を作成を選択します。

関連検索パネルのヘッダーにある + メニュー。関連検索を作成と関連検索をロードの選択肢があります。

Marketplace

保存済み関連検索を 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件ずつ実行されます。関連検索に複数のクエリパスがある場合、グラフに追加されるオブジェクトの合計数がステップごとの制限を超えることがあります。