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

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

スキーマの変更を管理する

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

Foundry オントロジー上に構築されたワークフローやアプリケーションは、組織のニーズの変化に合わせて進化させる必要があります。この進化に伴い、ほかの箇所にも変更が必要になるようなオブジェクトタイプのスキーマ更新(「破壊的変更」)が必要になる場合があります。スキーマの破壊的変更の例には、既存のプロパティのデータ型の変更、オブジェクトタイプの元データソースの変更、オブジェクトタイプの主キーの変更があります。スキーマの破壊的変更の全一覧は、以下を参照してください。

Object Storage v1 (Phonograph) のユーザーインターフェースでは、特にオブジェクトタイプにユーザーによる編集が加えられている場合、このようなスキーマの変更を推奨していません。これは、OSv1 ではユーザーによる編集を移行できないためです。時間がかかる複雑な手作業での対応ができなければ、破壊的変更によって既存のユーザーによる編集が失われます。

Object Storage v2 では、柔軟かつ反復的なワークフローの構築を可能にするため、スキーマの変更に関するこの制限を撤廃しています。そのため、OSv2 は、スキーマの破壊的変更後に既存のユーザーによる編集に適用できる、事前定義された移行の一覧を備えたスキーマ移行フレームワークを提供しています。Ontology Manager はスキーマの破壊的変更を自動的に検出し、事前定義された一覧から移行の選択肢を選ぶようユーザーを案内します。サポートされている移行の全一覧は、以下を参照してください。

ワークフローの例

このワークフローの例では、既存のユーザーによる編集があるオブジェクトタイプから、ユーザーが Description プロパティを削除します。Ontology Manager はこれをスキーマの破壊的変更として自動的に識別し、以下のスクリーンショットのように、移行が必要であることを示す警告を表示します。

破壊的変更の警告

警告の表示に加えて、ユーザーがオントロジーへの変更を保存しようとすると、Ontology Manager は変更を確認インターフェースに移行タブを表示します。Ontology Manager は、ユーザーが破壊的変更に対する移行を定義するまで、変更の保存をブロックします。これにより、その変更がほかのワークフローを壊すことを防ぎます。

ユーザーが移行タブに移動すると、Ontology Manager は以下のように、破壊的変更の種類に基づいて利用可能な移行の選択肢を表示します。

編集内容の確認

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

スキーマの破壊的変更の一覧

オントロジーにおける以下の変更は、スキーマの破壊的変更と見なされます。

  • オブジェクトタイプの入力データソースの変更
  • オブジェクトタイプの主キーの変更
  • プロパティのデータ型の変更
  • ユーザーによる編集が加えられているプロパティの ID の変更
  • ユーザーによる編集が加えられているプロパティの削除
  • ユーザーによる編集が加えられている構造体フィールドの削除
  • 構造体フィールドのデータ型の変更

スキーマの非破壊的変更の一覧

オントロジーにおける以下の変更は、スキーマの破壊的変更とは見なされません。

  • ユーザーによる編集が加えられているプロパティの表示名、タイトルキー、レンダリングヒント、タイプクラス、または重要性の変更
  • ユーザーによる編集が一度も加えられていないプロパティの削除、またはそのプロパティに対するスキーマの変更
  • ユーザーによる編集が一度も加えられていない構造体フィールドの削除、またはその構造体フィールドに対するスキーマの変更

OSv2 でサポートされるスキーマ移行の一覧

以下は、Object Storage v2 で現在サポートされているスキーマ移行の全一覧です。

  • プロパティのすべての編集を削除: この移行命令は、オブジェクトタイプの特定のプロパティに対する既存のユーザー編集をすべて削除します。オブジェクトタイプのほかのプロパティに対するユーザー編集には影響しません。この命令は一般に、オブジェクトタイプからプロパティを削除し、代わりとなる新しいプロパティがない場合に使用します。

  • 構造体フィールドのすべての編集を削除: この移行命令は、オブジェクトタイプの構造体プロパティ内の特定の構造体フィールドに対する既存のユーザー編集をすべて削除します。同じ構造体プロパティのほかの構造体フィールドに対するユーザー編集には影響しません。この命令は一般に、構造体プロパティから構造体フィールドを削除し、代わりとなる新しい構造体フィールドがない場合に使用します。

  • すべての編集を削除: この移行命令は、オブジェクトタイプのすべてのプロパティに対する既存のユーザー編集をすべて削除します。この移行を実行すると、オブジェクトタイプのすべてのオブジェクトの状態が、入力データソースのデータにリセットされます。この移行を実行するには、オブジェクトタイプのデータソースタブに移動し、編集セクションにある編集を削除を選択します。

  • 編集を移動: この移行命令は、特定のプロパティまたはオブジェクトタイプ全体に対する既存のユーザー編集をすべて移動します。この命令は一般に、次の2つの場合に使用します。

    • 既存のプロパティの名前を変更する場合、または既存のプロパティを削除して新しいプロパティに置き換える場合
    • オブジェクトタイプの入力データソースを別のデータソースに置き換える場合
  • 構造体フィールドの編集を移動: この移行命令は、特定の構造体フィールドに対する既存のユーザー編集をすべて別の構造体フィールドに移動します。この命令は一般に、既存の構造体フィールドを削除して新しい構造体フィールドに置き換える場合に使用します。

  • プロパティを新しいデータ型にキャスト: この移行命令は、特定のプロパティに対する既存のユーザー編集のデータ型を、そのプロパティの新しいデータ型にキャストします。サポートされるデータ型のキャストは以下のとおりです。

    • 添付ファイル → 文字列
    • ブール値 → 文字列
    • 日付 → 文字列
    • Double → Integer
    • Double → Long
    • Double → 文字列
    • Geopoint → 文字列
    • Geoshape → 文字列
    • Integer → Long
    • Integer → Double
    • Integer → 文字列
    • Long → Integer
    • Long → Double
    • Long → 文字列
    • 必須マーキング → 文字列
    • 文字列 → Integer
    • 文字列 → Long
    • 文字列 → Double
    • 文字列 → ブール値
    • 文字列 → 日付
    • 文字列 → タイムスタンプ
    • 文字列 → Geopoint
    • 文字列 → Geoshape
    • タイムスタンプ → 文字列
  • 構造体フィールドを新しいデータ型にキャスト: この移行命令は、特定の構造体フィールドに対する既存のユーザー編集のデータ型を、その構造体フィールドの新しいデータ型にキャストします。サポートされるデータ型のキャストは以下のとおりです。

    • ブール値 → 文字列
    • 日付 → 文字列
    • Double → Integer
    • Double → Long
    • Double → 文字列
    • Geopoint → 文字列
    • Integer → Long
    • Integer → Double
    • Integer → 文字列
    • Long → Integer
    • Long → Double
    • Long → 文字列
    • 文字列 → Integer
    • 文字列 → Long
    • 文字列 → Double
    • 文字列 → ブール値
    • 文字列 → 日付
    • 文字列 → タイムスタンプ
    • 文字列 → Geopoint
    • タイムスタンプ → 文字列
  • マイグレーションを元に戻す: この移行命令は、以前に適用したスキーマ移行を元に戻します。この命令は一般に、Ontology Manager の履歴セクションから、保存済みのオントロジーの変更を元に戻す場合に使用します。

    • 移行を元に戻すには、Ontology Manager で対象のオントロジーの履歴セクションに移動し、履歴イベント内の移行セクションを展開して、移行イベントの ... メニューを開き、元に戻すを選択します。移行を元に戻したら、Ontology Manager で変更を保存します。

移行を元に戻す

一度に適用できるスキーマ移行は最大500件です。スキーマ変更の件数がこの上限を超える場合は、移行を複数のバッチに分けて実行する必要があります。

現在のスキーマ移行フレームワークは、オブジェクトタイプの主キープロパティへの移行命令の適用に対応していません。

  • 失敗したスキーマ移行からの復旧: スキーマ移行の完了に失敗すると、データソースタブの置き換えパイプラインの上にエラーメッセージが表示され、インデックス化の失敗からオブジェクトタイプを復旧するための情報が示されます。失敗からの復旧に追加のスキーマ移行のステージングが必要な場合は、エラーメッセージにスキーマ移行を修正オプションが表示され、必要な移行をステージングできます。

データソースタブでは、置き換えパイプラインの上にエラーメッセージが表示され、失敗したスキーマ移行からオブジェクトタイプを復旧するためのオプションが示されます。