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

ルール

ルールは、パラメーターをオントロジーの編集やその他の効果に変換するアクションタイプのロジックを定義します。ルールには主に、オントロジーを編集するものと、Foundry で別の効果をトリガーするものの2種類があります。

以下のルールで作成できるものについて、ガイドに沿って学ぶには、その他のアクションタイプを探索するを参照してください。

オントロジールール

オントロジールールは、オントロジーの特定の要素を変更します。既存のタイプのオブジェクトやリンクを作成、変更、削除できます。一対多または一対一のリンクを作成または削除するには、オブジェクトルールを使用して、オブジェクトの外部キープロパティを変更する必要があります。

  1. オブジェクトを作成する: あらかじめ定義されたタイプのオブジェクトを作成できます。オブジェクトタイプの主キーは必須プロパティであり、入力する必要があります。任意でほかのプロパティも追加できます。
  2. オブジェクトを変更: オブジェクト参照パラメーターから主キーが取得される既存のオブジェクトを変更できます。現在のアクションの一部として作成されたオブジェクトは参照できません。
  3. オブジェクトを作成または変更: オブジェクト参照パラメーターに基づいて既存のオブジェクトを変更できます。オブジェクトが選択されていない場合は、自動生成された一意の ID、またはユーザーが送信した主キーを使用して、新しいオブジェクトが作成されます。
  4. オブジェクトを削除: オブジェクト参照パラメーターから主キーが取得される既存のオブジェクトを削除できます。現在のアクションの一部として作成されたオブジェクトは参照できません。
  5. リンクを作成: オブジェクト参照パラメーターで渡されたオブジェクト間に、多対多のリンクを作成できます。外部キーによるリンクの場合は、オブジェクトを変更するルールを使用して外部キープロパティを明示的に変更する必要があります。
  6. リンク削除: オブジェクト参照パラメーターで渡されたオブジェクト間の多対多のリンクを削除できます。外部キーによるリンクの場合は、オブジェクトを変更するルールを使用して外部キープロパティを明示的に変更する必要があります。
  7. 関数ルール: アクションのパラメーターから入力が取得されるオントロジー編集関数を参照できます。このルールが存在する場合、ほかのルールは設定できません。関数のコードだけで、ほかのルールが行うすべての処理に対応できるためです。詳しくは、関数アクションタイプを参照してください。
  8. インターフェースのオブジェクトを作成: 特定のインターフェースを実装する任意のタイプのオブジェクトを作成できます。詳しくは、インターフェースに対するアクションを参照してください。
  9. インターフェースのオブジェクトを変更: 特定のインターフェースを実装するタイプのオブジェクトを変更できます。詳しくは、インターフェースに対するアクションを参照してください。
  10. インターフェースのオブジェクトを削除: 特定のインターフェースを実装するタイプのオブジェクトを削除できます。詳しくは、インターフェースに対するアクションを参照してください。
  11. インターフェースのオブジェクトにリンクを作成する: 特定のインターフェースを実装するタイプのオブジェクト間にリンクを作成できます。詳しくは、インターフェースに対するアクションを参照してください。
  12. インターフェースのオブジェクトのリンクを削除: 特定のインターフェースを実装するタイプのオブジェクト間のリンクを削除できます。詳しくは、インターフェースに対するアクションを参照してください。

値とパラメーター

リンクやオブジェクトを作成または変更する際、ルールの処理には追加の値が必要です。オブジェクトを変更する際には、どのプロパティを変更するかもルールで定義します。各プロパティは、次の選択肢のいずれかで指定される値にマッピングされます(リンクに対するルールは、オブジェクト参照パラメーターのみを受け取れます)。

  • パラメーターから: プロパティと同じデータ型の既存のパラメーターです。デフォルトでは、ルールに新しいプロパティを追加するたびに、同じ名前のパラメーターが自動的に作成され、そのパラメーターの値を使用するようにマッピングされます。
  • オブジェクトのパラメータ: 既存のオブジェクト参照パラメーターのプロパティです。オブジェクトパラメーターのプロパティタイプは、マッピング先のプロパティタイプと一致する必要があります。
  • 固定値: アクションタイプのルール部分にのみ存在する固定値です。この値は、Workshop、Slate、Object View でアクションを操作する際には変更できません。
  • 現在のユーザー/時刻: 文字列およびタイムスタンプのプロパティには、アクションの現在のユーザーやアクション実行開始時の時刻といった、コンテキストに応じた値も設定できます。時刻の値は実行中に変化せず、アクションログと編集履歴のコミットタイムスタンプとは異なる場合があります。固定値と同様に、これらの値はアクションを実行する際には操作できず、アクションタイプのほかの部分では使用できません。

オブジェクトと多対多のリンクを作成する

オブジェクトと多対多のリンクを同時に作成することもできます。多対多のリンクのみを作成する場合は、リンクの両側のオブジェクトが事前に存在している必要がありますが、1つのアクションタイプで両方のエンティティを作成できます。まず、多対多のリンクを持つオブジェクトタイプでオブジェクトを作成するルールを設定します。次に、プロパティを追加の下にあるリンクを追加ボタンをクリックして、リンクタイプを選択し、リンクを設定します。

一対多または一対一のリンクタイプを作成するには、オブジェクトの外部キーを編集するだけです。

無効な組み合わせ

アクションタイプには、オントロジールールを組み合わせて含めることができます。複数のルールが定義されている場合、アクションのバックエンドはルールをコンパイルし、オブジェクトごとに1つの編集(たとえば、オブジェクトを追加する、オブジェクトを変更、オブジェクトを削除)を生成します。たとえば、あるルールの結果としてプロパティが「A」に更新され、同じアクションタイプ内の別のルールによって同じオブジェクトのプロパティが「B」に更新される場合、最終的な編集ではプロパティが「B」に更新されるだけです。ルールの順序は、最終的なオブジェクトの編集に影響します。そのため、次のようなオブジェクト編集の組み合わせには対応していません。

  • オブジェクトを追加または変更する前に削除することはできません。
  • オブジェクトを追加する前に変更することはできません。
  • 1回のフォーム送信でオブジェクトを2回作成することはできません。

その他のルール

副次的効果をトリガーするルールには、2種類あります。

  • 通知ルールを使用して、アクションに関する通知を送信できます。パラメーターを使用して、通知の内容と受信者をカスタマイズできます。エンドユーザーは設定を調整して、プラットフォーム内のプッシュ通知、メール、またはその両方で通知を受け取ることができます。通知はアクションのすべての編集が適用された後に送信されますが、通知の内容は編集が適用される前のオントロジーの状態に基づいて生成されます。
  • Webhookを使用すると、アクションの適用時に外部システムへリクエストを送信できます。アクションのパラメーターを Webhook に渡すことができ、Webhook はそのパラメーターを外部へのリクエストに渡すことができます。Webhook は、編集の適用前または適用後に実行するように設定できます。

さらに、ビルドをトリガーする高度なルールがあります。

  • スケジュールルールを使用して、スケジュールのビルドをトリガーできます。アクションのパラメーターをスケジュールに渡すことができ、スケジュールはそのパラメーターを、ビルド内で実行されるパラメーター化されたトランスフォームに渡すことができます。Foundry は、ビルドの開始後にオントロジーの編集を適用します。