オントロジーファンクションモデルおよびグラフモデル関数の作成

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

用語,

このページでは、Vertexで使用されるロジックの構築要素であるTypescript関数について説明しています。オブジェクト内のFunctionsからライブデプロイされたモデルを呼び出す方法については、「Functions on models」を参照してください。

モデル関数の作成

Functionsは、入力に基づいて出力のセットを推定するモデル内のロジックである モデル関数 を作成するために使用できます。この ModelFunction は、Vertex、Objectives、Scenarios、およびFoundryプラットフォーム全体で使用できます。

モデル関数は、入力セットに基づいて値のセットを推定するために使用されます。これらの関数は純粋な関数であり、同じ入力でモデル関数を複数回評価しても、常に同じ出力値が得られます。モデル関数はデータをロードせず、提供された入力セットに基づいて計算が完全に行われます。

用語

以下は、モデル関数を使用する際に特定の意味を持ついくつかの用語です。

  • モデル - モデルは、他のオブジェクトのプロパティに基づいて、あるオブジェクトのプロパティを推定するロジックのセットです。これは、ユーザーによって実施される変更ではなく、値の変化を予測するものとされています。
  • モデル関数 – 入力に基づいてプリミティブな出力のセットを推定する関数。これらの関数は副作用がなく、データをロードしません。

モデル関数の使用法

モデル関数は、Foundryで以下のように使用されます。

  • シナリオ - シナリオは、アクション、オーバーライト、モデルを使用して、オントロジー全体で変更がどのように影響を与えるかを予測するためのものです。オントロジー内のオブジェクトとモデルのオントロジー概念を使用して、「何が起こるか」の分析を作成し、比較することができます。任意のモデル関数は、シナリオ内のモデルとして使用できます。
  • Vertex - Vertexは、システムモデリングとシミュレーションを行うためのFoundryアプリケーションであり、値がどのように変化するかを予測します。シミュレーションを実行する際に、オブジェクトグラフを可視化することができます。任意のモデル関数は、Vertex内で値をシミュレートするために設定および使用できます。
  • Modeling Objectives - Modeling Objectivesは、特定の組織の問題文と運用された結果を解決するために使用されるモデル、データ、およびコンテキストのセットです。これらは、オブジェクトのセットに対してモデルを実行し、モデルを個々のオブジェクトに適用するために定義されます。モデル関数は、オブジェクトにモデルを適用するために使用できます。

モデル関数の書き方

モデル関数は、標準のFunctionsと以下の2つの点で異なります。

  • @foundry/functions-apiからインポートされた@ModelFunction()でデコレートされています(@Function()ではなく)。
  • 入力と出力の型は、標準のFunctionsで許可されている型のサブセットに限られます。

標準のFunctionsで実行できるアクションは、モデル関数で実行できます。例えば、Live Previewでのテスト、タグ付け、公開などです。また、モデル関数は、標準のFunctionsが使用できるすべてのコンテキストで使用できます。

model-functions-decorator

モデル関数への対応入力

モデル関数は、利用可能なFunctionsの型 のサブセットのみをサポートしています。許可されている型は、すべてのスカラー、オプショナル、コレクションなどのプリミティブ型です。コレクション型の場合、コレクション内のすべてのオブジェクトも許可された型のいずれかでなければなりません。特筆すべきことは、モデル関数は集計、オントロジータイプ、通知をサポートしていません。モデル関数内のオブジェクトから値を使用するには、使用したい各プロパティに対して入力パラメーターを持つ必要があります。このモデル関数を別のFoundryアプリで使用する場合、オブジェクトのどのプロパティが各パラメーターに対応するかを指定できます。これについては、以下のチュートリアルで詳しく説明します。

モデル関数からの対応出力

モデル関数は、上記で説明したサポートされているプリミティブ型のいずれかであるフィールドを持つ匿名のカスタム型を出力する必要があります。

許可されていない型を使用してモデル関数が記述されている場合、エラーが表示され、関数は公開されません。

model-functions-error

Modeling Objectivesにモデルを送信する方法

このチュートリアルでは、Modeling Objectivesにモデルを送信する方法について説明しています。

Vertexで使用するモデルの設定方法

このチュートリアルでは、Vertexで使用するモデルの設定方法について説明しています。