Warning

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

必須プロパティ

必須プロパティは、値を持つ必要があるオブジェクトタイプのプロパティです。このオブジェクトタイプのプロパティを使用して、このプロパティに対してnull値を持つオブジェクトがないこと、または配列プロパティの場合は空の配列がないことを検証できます。この検証は、バッキングデータソースからのデータや、アクションによる編集に適用されます。

必須プロパティの概要

必須プロパティを使用する際には、以下の点に注意してください:

  • データがオブジェクトにインデックスされるときに検証が行われます: null値のチェックは、バッキングデータソースがObject Storageにインデックスされる際に行われます。これは、必須プロパティをバックアップする列にnull値が含まれていても、オントロジーの変更自体は成功することを意味します。
  • 配列プロパティは空にできません: 配列プロパティを必須に設定すると、少なくとも1つのアイテムの存在が保証されます。
  • アクションによる変更は適用時に検証されます: アクションによりプロパティにnull値または空の値を書き込もうとすると、アクションの実行に失敗します。
  • Object Storage V2でのみ利用可能: 必須プロパティは、Object Storage V2を活用しているオブジェクトタイプでのみサポートされています。

必須プロパティの作成

  1. オントロジー管理に移動します。
  2. 必須に設定したいプロパティのオブジェクトタイプを選択し、そのプロパティを選択します。
  3. プロパティの作成を選択し、必要な詳細(プロパティ名、タイプ、説明)を入力します。
  4. 構成セクションで、必須のトグルをオンにします。
  5. オントロジーへの変更を保存し、再インデックスが完了するのを待ちます。

なお、プロパティのバッキング列に現在null値が設定されている場合、再インデックスは失敗します。これを修正するには、バッキングデータソースを更新して列にnullがないようにするか、プロパティの必須設定を解除する必要があります。

Required property toggled in configuration pane.

複数のバッキングデータソースを持つオブジェクトタイプの必須プロパティ

オブジェクトタイプが複数のデータソースにバックアップされている場合、null値が必須プロパティに現れる状況が稀に発生することがあります。この現象は、オブジェクトのレコードが一部のデータソースに存在するが、必須プロパティを提供するデータソースには存在しない場合に発生します。

以下にこの挙動を示す例を挙げます。Movieオブジェクトタイプが2つのバッキングデータソースを持ち、Genreプロパティが必須であると仮定します。

データソース1

Movie IdTitleBox officeRegions
101The Adventure Begins200m["USA", "Canada", "UK"]
102Love in the City75m[]
103Galactic Battles500m["USA", "UK", "Australia"]

データソース2

Movie IdBudgetGenre (Required)Director
10150mAdventureMichael John Smith
10220mRomanceJane Doe
103150mSci-Fi

新たなMovieGenreの値を提供せずに両方のバッキングデータソースに追加された場合、それはオントロジーへのインデックス作成に失敗します。

しかし、新たなMovieオブジェクトの行がデータソース1にしか存在しない場合を考えてみましょう。

データソース1

Movie IdTitleBox officeRegions
101The Adventure Begins200m["USA", "Canada", "UK"]
102Love in the City75m[]
103Galactic Battles500m["USA", "UK", "Australia"]
104Happy Ending150m["UK", "FRANCE"]

データソース2

Movie IdBudgetGenre (Required)Director
10150mAdventureMichael John Smith
10220mRomanceJane Doe
103150mSci-Fi

上記の例では、結果として得られるオブジェクトが必須プロパティの値を持たないにもかかわらず、オントロジーに正常にインデックスされます。

PropertyValue
Movie Id104
TitleHappy Ending
Box Office150m
Regions["UK", "FRANCE"]
Budget
Genre (Required)
Director

これは、アクションによる編集で作成されたオブジェクトにも同様に適用されます。Movieオブジェクトは、Datasource 1の列に関連付けられたプロパティのみを含む場合、成功裏に作成または変更できます。しかし、アクションがDatasource 2から取得したプロパティ(例えばBudget)をオブジェクトに追加する場合、そのアクションは無効となり、実行に失敗します。これは、オブジェクトがDatasource 2に存在するため、Genreを設定しなければならないためです。