オントロジーの構築オブジェクトの編集と実体化スキーマ変更の管理

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

スキーマ変更の管理

オブジェクトタイプスキーマの変更

Foundry オントロジーを基盤としたワークフローやアプリケーションは、組織のニーズの変化に応じて進化する必要があります。場合によっては、この進化が他の部分にも追加の変更を必要とするスキーマの更新を含むことがあります(「重大な変更」)。スキーマの重大な変更の例としては、既存のプロパティのデータ型の変更、オブジェクトタイプのバックエンドデータソースの変更、またはオブジェクトタイプの主キーの変更が含まれます。重大なスキーマ変更の完全なリストは以下をご覧ください。

Object Storage V1 (Phonograph) では、オブジェクトタイプがユーザーによる編集を受けた場合、ユーザーインターフェースはそのようなスキーマ変更を控えるように勧めています。これは、OSv1 ではそのようなユーザー編集を移行できないためです。代わりに、複雑で時間のかかる手動の介入を行わない限り、重大な変更は既存のユーザー編集の損失をもたらすことになります。

Object Storage V2 では、この制約を取り除き、柔軟で反復的なワークフローの構築を促進します。そのために、OSv2 はスキーマ移行フレームワークを提供し、重大なスキーマ変更後に既存のユーザー編集に適用できる一連の事前定義された移行をリストアップしています。Ontology Manager は重大なスキーマ変更を自動的に検出し、ユーザーに事前定義されたリストから移行オプションを選択するように案内します。サポートされている移行の完全なリストは以下をご覧ください。

ワークフローの例

このワークフローの例では、ユーザーが既存のユーザー編集を含むオブジェクトタイプから Year プロパティを削除します。Ontology Manager はこれを重大なスキーマ変更として自動的に識別し、移行が必要であることを警告します。

重大な変更の警告

警告を表示するだけでなく、ユーザーがオントロジーへの変更を保存しようとすると、Ontology Manager は Review edits インターフェース内に Migrations タブを表示します。Ontology Manager は、ユーザーが重大な変更のための移行を定義するまで、変更の保存をブロックします。これにより、他のワークフローが破損するのを防ぎます。

ユーザーが Migrations タブに移動すると、Ontology Manager は以下のように、重大な変更の種類に基づいた利用可能な移行オプションを表示します。

編集のレビュー

ユーザーが Ontology Manager 内でスキーマ変更を指定して保存すると、バックエンドでオブジェクトタイプの新しいスキーマバージョンが作成され、対応する置換 Funnel バッチパイプラインがオーケストレーションされ、オブジェクトタイプのインデックスが更新されます。置換パイプラインが完了し、新しいバージョンが完全にオブジェクトデータベースによってハイドレートされたと宣言されると、Object Set Service (OSS) および他のオントロジー API の消費者によってクエリ可能になります。

重大なスキーマ変更のリスト

オントロジーで次の変更は重大なスキーマ変更と見なされます:

  • オブジェクトタイプの入力データソースの変更
  • オブジェクトタイプの主キーの変更
  • プロパティのデータ型の変更
  • ユーザー編集を受けたプロパティの ID の変更
  • ユーザー編集を受けたプロパティの削除

重大でないスキーマ変更のリスト

オントロジーで次の変更は重大なスキーマ変更とは見なされません:

  • ユーザー編集を受けたプロパティの表示名、タイトルキー、レンダーヒント、タイプクラス、または可視性の変更
  • ユーザー編集を受けたことのないプロパティの削除またはスキーマ変更

OSv2 でサポートされているスキーマ移行のリスト

以下は、現在 Object Storage V2 でサポートされているスキーマ移行の完全なリストです。

  • すべてのプロパティ編集の削除: この移行指示は、オブジェクトタイプの特定のプロパティに対する既存のすべてのユーザー編集を削除します。オブジェクトタイプの他のプロパティに対するユーザー編集には影響しません。この指示は、プロパティを削除し、新しいプロパティが代替として存在しない場合によく使用されます。
  • すべての編集の削除: この移行指示は、オブジェクトタイプのすべてのプロパティに対する既存のすべてのユーザー編集を削除します。この移行が実行されると、オブジェクトタイプのすべてのインスタンスの状態は入力データソース内のデータにリセットされます。
  • 編集の移動: この移行指示は、特定のプロパティまたはオブジェクトタイプ全体に対する既存のすべてのユーザー編集を移動します。この指示は、以下の 2 つの場合によく使用されます:
    • 既存のプロパティが名前変更または削除され、新しいプロパティに置き換えられる場合
    • オブジェクトタイプの入力データソースが別のデータソースに置き換えられる場合

一度に最大 500 個のスキーマ移行しか適用できません。スキーマ変更の数がこの制限を超える場合、移行はバッチで実行する必要があります。

  • 新しい型へのキャスト: この移行指示は、特定のプロパティに対する既存のユーザー編集のデータ型をプロパティの新しいデータ型にキャストします。サポートされているデータ型キャストのリストは次のとおりです:
    • Attachment → String
    • Boolean → String
    • Date → String
    • Double → Integer
    • Double → Long
    • Double → String
    • Geohash → String
    • Geoshape → String
    • Integer → Long
    • Integer → Double
    • Integer → String
    • Long → Integer
    • Long → Double
    • Long → String
    • Mandatory marking → String
    • String → Integer
    • String → Long
    • String → Double
    • String → Boolean
    • String → Date
    • String → Timestamp
    • String → Geohash
    • String → Geoshape
    • Timestamp → String
  • 移行の復元: この移行指示は、以前に適用されたスキーマ移行を復元します。この指示は、History セクションで保存されたオントロジーの変更を復元する場合によく使用されます。
    • 移行を復元するには、目的のオントロジーの Ontology Manager 内の History セクションに移動し、履歴イベント内の Migrations セクションを展開し、移行イベントの ... メニューを開いて Revert を選択します。移行が復元されたら、Ontology Manager 内で変更を保存します。

移行の復元

現在のスキーマ移行フレームワークでは、オブジェクトタイプの主キー プロパティに移行指示を適用することはサポートされていません。主キー移行のサポートは将来的に追加される予定です。