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

リンクタイプの作成

以下に示すガイド付きヘルパーを使用して、新しいリンクタイプを作成および構成することをお勧めします。ただし、オブジェクト作成プロセスを完了する前にヘルパーを終了した場合は、新しいリンクタイプのリンクタイプ、キー、および API 名を指定して手動でプロセスを完了できます。

リンクタイプ作成ヘルパーにアクセス

Ontology Manager アプリケーションに移動します。リンクタイプ作成ヘルパーにアクセスするには、次のいずれかの方法を選択します:

  • 右上隅から New を選択し、次に Link type を選択します。

  • 左側のサイドバーで Resources の下にある Link types を選択します。その後、Link types ページの右上隅にある New link type を選択します。

  • リンクしたいオブジェクトタイプに移動し、そのオブジェクトタイプの Overview ページ内のリンクタイプグラフから Create new link type を選択します。

    Create a new link type

新しいリンクタイプの構成

ステップ 1: リレーションシップタイプを選択

  1. Create a new link type ダイアログの最初のステップで、リンクのリレーションシップタイプを選択するように求められます。

  2. 2 つのオブジェクト間のリンクを定義するためのリレーションシップタイプを選択します:

    • Foreign key: "1 対 1" および "多対 1" のカーディナリティリンクタイプをサポートします。このオプションを使用すると、目的のオブジェクトの外部キーおよび対応する主キーを表すプロパティを選択できます。外部キーを使用してリンクリソースを定義する詳細については、以下の ステップ 2a を参照してください。
    • Dataset: "多対多" のカーディナリティリンクタイプ用。このオプションを使用すると、リンクをバックする結合テーブルデータセットを使用できます。データセットを使用してリンクリソースを定義する詳細については、以下の ステップ 2b を参照してください。

以下の例では、Aircraft オブジェクトタイプと Flight オブジェクトタイプというカーディナリティで関連する 2 つのオブジェクトタイプがあると仮定します。

  • 1 対 1 のカーディナリティ: これは、1 つの Aircraft が 1 つの Flight にリンクされるべきであることを示します。1 対 1 のカーディナリティは、意図された関係の指標として機能しますが、1 対 1 のカーディナリティは強制されません。
  • 1 対多のカーディナリティ: これは、1 つの Aircraft が複数の Flight にリンクされることを示します。
  • 多対 1 のカーディナリティ: これは、複数の Aircraft が 1 つの Flight にリンクされることを示します。
  • 多対多のカーディナリティ: これは、1 つの Aircraft が複数の Flight にリンクされ、1 つの Flight が複数の Aircraft にリンクされることを示します。
  1. Next を選択して次のステップに進みます。

Select the link type relationship type in the creation dialogue

ステップ 2a: 外部キーリレーションシップタイプを使用してリンクリソースを定義

1 対 1 または多対 1 のカーディナリティリンクタイプでは、リンクの外部キープロパティと主キープロパティを定義します。あるオブジェクトタイプの 外部キープロパティ は、他のオブジェクトタイプの 主キープロパティ を参照する必要があります。

たとえば、Tail Number プロパティは Aircraft オブジェクトタイプの主キーです。Flight オブジェクトタイプの Flight Tail Number プロパティは外部キーです。AircraftTail NumberFlightFlight Tail Number と一致するときに、AircraftFlight オブジェクトタイプ間にリンクが作成されます。

  1. Link resources ステップで、リンクするオブジェクトタイプを選択します。
  2. 左側のドロップダウンメニューから外部キーオブジェクトタイプを選択します (この例では Flight)。
  3. 右側のドロップダウンメニューから主キーオブジェクトタイプを選択します (この例では Aircraft)。
  4. リンクを形成するプロパティを選択します:
  • 外部キーオブジェクトタイプの場合、ソースオブジェクトタイプの外部キーとして使用されるプロパティを選択します (Flight オブジェクトタイプの場合、Flight Tail Number)。
  • オブジェクトタイプの主キーは、各オブジェクトタイプに 1 個の主キーしかないため、自動的に選択されます (Aircraft オブジェクトタイプの場合、Tail Number)。
  1. Next を選択して続行します。

Select the link resources using a foreign key relationship type.

ステップ 2b: データセットリレーションシップタイプを使用してリンクリソースを定義

多対多のカーディナリティでは、最初のオブジェクトタイプ (Aircraft の例) と 2 番目のオブジェクトタイプ (Flight の例) の主キー間のリンクのすべての組み合わせを含むデータソースを選択します。

多対多のカーディナリティには、バックするデータソースが必要であり、ユーザーがリンクタイプを 編集または書き戻し できるようにするために必要です。

  1. Link resources ステップで、リンクするオブジェクトタイプを選択します。
  2. 左側のドロップダウンメニューから最初のオブジェクトタイプを選択します (Flight)。
  3. 右側のドロップダウンメニューから 2 番目のオブジェクトタイプを選択します (Aircraft)。
  4. 結合テーブルデータセットを選択します。選択した両方のオブジェクトタイプの主キーと一致する列を含むデータセットを選択します。列は 1 個の主キーにのみマッピングできます。
  5. リンクタイプのバックデータソース内のどの列がリンクされた各オブジェクトタイプの主キーにマッピングされるかを選択します。
  6. Next を選択して続行します。

Select link type relationship type

ステップ 3: リンクタイプの名前を付ける

  1. Link type names ステップで、新しいリンクタイプの表示名と API 名を入力します。
  2. リンクタイプの各側面に表示名を入力します。リンクタイプの側面は、そのオブジェクトタイプへのリンクを表します。この例では、Aircraft オブジェクトタイプの表示名は、Flight から Aircraft へのリンクを表します。Assigned Aircraft の表示名を選択できます。これは 1 つの Flight に 1 つの Assigned Aircraft があるためです。
  3. 表示名に基づいて API 名が自動的に生成されますが、必要に応じて変更できます。
    • API 名フィールドは、コード内でリンクタイプをプログラム的に参照する際に使用されます。リンクタイプの側面の API 名は、そのタイプのオブジェクトを返すために使用できます。たとえば、リンクタイプの Aircraft 側の API 名が assignedAircraft である場合、Flight.assignedAircraft.get() を呼び出すと、これらの Flight オブジェクトにリンクされた Aircraft オブジェクトが返されます。
    • リンクタイプの API 名は、以下に従う必要があります:
      • 小文字の文字で始まり、英数字のみで構成される。
      • 同じオブジェクトタイプに関連付けられたすべてのリンクタイプ間で一意である。
      • 1 から 100 文字の長さである。
      • NFKC 正規化されている。
      • 予約済みキーワードではない。
    • API 名についてさらに学ぶ。
  4. Submit を選択して続行します。

Name the link type

これらの手順を完了すると、新しいリンクタイプが作成され、保存できます。これを行うには、オントロジーへの変更を保存する方法 の指示に従ってください。

トラブルシューティング

エラー: Phonograph2:DatasetAndBranchAlreadyRegistered

エラー Phonograph2:DatasetAndBranchAlreadyRegistered が表示された場合、ユーザーが保存しようとしているリンクタイプをバックするデータソースが、オントロジー内の別のリンクタイプをすでにバックしており、再使用できないことを意味します。