オントロジーの構築ファンクションパフォーマンスおよび制限プラットフォームで Functions を使用する

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

プラットフォームで関数を使用する

このセクションでは、Foundry プラットフォーム全体で関数を使用するさまざまな方法について説明します。この一覧はおおむね最新の状態に保たれていますが、ここに記載されていない関数の使用方法もある場合があります。

Workshop

Workshop はさまざまな方法で関数との統合をサポートしており、Workshop で作成したモジュール全体でカスタムロジックを使用できます。

変数

Workshop の変数のほとんどは関数ベースにすることができ、アプリケーション作成者は関数を使って値を計算し、その値を Workshop 全体で使用できます。デフォルトでは、変数が依存する別の変数が更新されると、その変数の値が再計算されます。これにより、ユーザーのフィードバックに応じて柔軟に値を再計算できます。たとえば、ユーザーが入力コンポーネントを編集すると、それに依存する関数ベースのオブジェクトセット変数が自動的に再計算されます。

関数ベースの変数は、同一の入力に対して再計算するのではなく、結果をキャッシュします。変数の再計算の動作を設定するか、変数値を設定イベントを使用して、再計算を明示的にトリガーします。

詳しくは、関数を使って Workshop 変数を生成する方法のチュートリアルを参照してください。

以下は、Workshop の変数タイプと、それに対応する TypeScript のデータ型の対応表です。各タイプの Workshop 変数は、記載されている有効なデータ型のいずれかを返す関数を元にしています。利用可能な関数のデータ型について詳しくはこちら。

  • ブール値: boolean
  • 文字列: string
  • 数値: Integer、Long、Float、Double
  • 日付: LocalDate
  • タイムスタンプ: Timestamp
  • 配列: BaseType[] または Set<BaseType>
  • オブジェクトセット: ObjectSet<ObjectType>(推奨)、ObjectType[]、または Set<ObjectType>

オブジェクトテーブル:派生プロパティ

Workshop のオブジェクトテーブルウィジェットでは、関数ベースの列を計算するように設定できます。この列はユーザー入力に基づいて更新でき、エンドユーザーがテーブルをスクロールすると、その都度再計算されます。この機能を使用するための詳細なチュートリアルを参照できます。

関数ベースの列は Media Reference を返すことができます。関数が mimeType プロパティと reference プロパティを持つ mediaReference 型を返すと、オブジェクトテーブルは結果を生データではなくメディアとして自動的に表示します。これにより、カスタムの関数ロジックに基づく動的なメディアをテーブル列で使用できます。

チャート:派生集計

Workshop の Chart: XY(チャート: XY) ウィジェットは、関数ベースの集計を使用して、必要に応じて集計値を算出することをサポートしています。これは、ユーザーの選択に基づく集計データが必要な場合に役立ちます。チャートウィジェットで関数を使用するには、クリックしてチャートレイヤーを設定し、関数集計を選択します。

関数を使用するチャート

集計 API のリファレンスを利用できます。より高度なユースケースについては、TSv1 または Python でカスタム集計を計算する方法のドキュメントを参照してください。

アクション

アクションタイプを使用すると、アプリケーションは柔軟かつ安全な方法で Foundry オントロジーのオブジェクトを変更し、外部への通知や副次的効果を実行できます。アクションでは、関数によって完全な柔軟性が提供され、コード作成者はオブジェクトの更新方法や副次的効果の設定方法を定義できます。

関数ベースのアクション

関数ベースのアクションは、オントロジー編集 API を使用して、オブジェクトの更新方法のロジックを定義します。これにより、たとえば起点となるオブジェクトにリンクされたすべてのオブジェクトを更新するなど、複雑な編集をコードで表現できます。関数ベースのアクションを最初から最後まで使用する方法のチュートリアルを参照してください。

副次的効果:通知

アクションは、指定したユーザーに通知を送信するように設定できます。関数を使用して、通知を受信するユーザーと通知自体の内容を計算できます。これにより、オブジェクト内に保存されている受信者のユーザーIDを読み込んだり、オブジェクトデータに基づいてメールの内容を表示したりするなど、柔軟に対応できます。詳しくは、通知に関する詳細なドキュメントと関数を使用して通知を設定する方法のガイドを参照してください。

副次的効果:Webhook

アクションは、適用時に Webhook をトリガーするように設定することもできます。Webhook によって Foundry とほかのシステムを統合でき、ユーザーが適用したアクションから Foundry 外部の API に書き戻すことができます。関数を使用して、実行される Webhook に送信するパラメーターを計算できるため、オブジェクトデータに基づいて Webhook パラメーターを設定するなどのワークフローが可能になります。Webhook に関する詳細なドキュメントを参照してください。

Slate

Slate には、プラットフォームタブで関数を検索して使用するためのネイティブサポートが組み込まれています。Slate ドキュメントを編集するときに、プラットフォームタブを開き、左下で Foundry 関数を追加します。これで、関数を検索し、パラメーターを設定して、その結果を Slate ドキュメントで使用できます。

Slate で関数を使用する

歴史的な理由から、Slate 製品には独自の「関数」という概念があります。これは、各 Slate ドキュメント内にある JavaScript ロジックのスニペットです。このため、関数の製品は「Foundry 関数」と呼ばれ、プラットフォームタブの下に配置されています。Slate の関数機能を使用すると、ドキュメント内で迅速かつ簡単にデータを操作できますが、オブジェクトのネイティブサポートはありません。

Slate の関数と Foundry 関数を組み合わせて使用できます。たとえば、Foundry 関数からデータを返し、Slate の関数で操作したり、Slate の関数を使用して Foundry 関数に渡すパラメーターを計算したりできます。

Quiver

Quiver のオブジェクトセットプロットは、Workshop の Chart: XY ウィジェットと同じ基盤コンポーネントを使用しています。そのため、Quiver の分析でも関数ベースの集計を使用できます。

コード関数オブジェクトセットカードとコード関数カテゴリプロットカードは、オブジェクトパラメーターを持つ関数をサポートしています。別のカードを参照するか、カードエディターでオブジェクトを選択して、パラメーター値を設定します。

Quiver の検索ダイアログからコード関数を追加することもできます。コード関数カテゴリーは、オブジェクトセット、カテゴリカルプロット、値、時系列の出力をサポートしています。

Automate

Automate では、指定した条件が満たされると関数を自動的に実行する、関数ベースの自動化を作成できます。

関数の効果を設定するときに、関数を選択し、そのバージョンを指定できます。安定バージョン(1.0.0 以降)では、対応するバージョンへの自動アップグレードを有効にできます。Automate の関数は非同期で実行され、最大4時間実行できます。

戻り値の型がオントロジー編集である関数を Automate の効果として使用しても、その編集は適用されません。詳しくは、関数の効果に関するドキュメントを参照してください。