mdexTypeカスタム・プロパティの作成

Integrator ETLでは、カスタム・プロパティmdexTypeを作成できます。このプロパティは、Endecaの特定の標準属性のマップ先とするMDEX型を明示的に指定する場合に使用できます。

カスタム・プロパティ機能を使用して、Integrator ETLでネイティブでサポートされていないMDEXタイプ(mdex:durationmdex:timeおよびmdex:geocodeなど)を指定できます。この場合、ETL開発者はIntegrator ETLを介して文字列を送信する必要がありますが、文字列値がDgraphが予期する方法で書式設定されていることを確認するようにします。言い換えると、新しいmdexTypeカスタム・プロパティにより、Dgraphにレコードが送信される際に、Integrator ETLネイティブのプロパティ・タイプがオーバーライドされます。

この機能は、文字列以外の複数割当てのプロパティで特に役立ちます。これは、プロパティにはデリミタを含む必要があるため、Integrator ETLがネイティブで文字列としてプロパティを扱う必要があるためです。したがって、複数割当てのプロパティに(文字列であるかのように)デリミタを含め、たとえばmdex:intを使用し、MDEXプロパティ・タイプとしてプロパティをDgraphに送信することが可能です。

重要: プロパティがIntegrator ETLタイプ文字列と指定されていても、文字列値がマップ先のMDEXプロパティ・タイプのルールに従って書式設定されていることを確認する必要があります。たとえば、Dgraphでmdex:duration属性として作成される場合、文字列値にmdex:durationの形式を使用する必要があります。

メタデータ・エディタの「フィールド」ペインから、カスタム・プロパティ・エディタを起動して、カスタム・プロパティを次のように追加します。

「カスタム・プロパティ」ダイアログ

「名前」フィールドは、mdexTypeにする必要があり、「値」フィールドは、MDEXプロパティ・タイプのいずれか(たとえば、mdex:duration)にする必要があります。名前と値は、Information Discoveryコンポーネントで標準属性の作成の際に、どのMDEXプロパティ・タイプを使用するかを(Dgraphに対して)指定するため使用されます。

ソース入力ファイルの簡単な例を次に示します。
ProductKey|ProductName|Duration|Location
95000|HL Mountain Rim|P429DT2M3.25S|42.365615 -71.075647
これにより、次の4つの標準属性を持つレコードが1つのみ作成されます。
  • ProductKey属性: 主キーであり、整数です。値は9500です。
  • ProductName属性: 文字列タイプで、値はHL Mountain Rimです。
  • Duration属性: Designerのメタデータ内では文字列のプロパティですが、Duration標準属性を作成するためにmdex:durationのカスタム・プロパティを使用します。値は、P429DT2M3.25S (429日2分3.25秒の期間を指定)です。
  • Location属性: Integrator ETLのメタデータ内では文字列のプロパティですが、Geocode標準属性を作成するためにmdex:geocodeのカスタム・プロパティを使用します。値は、42.365615 -71.075647 (北緯42.365615度、西経71.075647度の場所を指定)です。

カスタム・プロパティを作成する手順は次のとおりです。

  1. 少なくとも1つのリーダー、1つのInformation Discoveryコンポーネント(Add/Update Recordsコンポーネントなど)および1つのEdgeコンポーネントを持つグラフを作成します。
  2. 「エッジ」を右クリックして新規メタデータ > フラット・ファイルから抽出と選択します。
  3. フラット・ファイルダイアログで、入力ファイルを選択してから「次へ」をクリックし、メタデータ・エディタを表示します。
  4. メタデータ・エディタの中央のペインで、次の操作を行います。
    1. 名前を抽出ボックスを選択します。
    2. 再解析をクリックします。
    3. 「警告」メッセージで、「はい」をクリックします。

    この時点のメタデータ・エディタの「レコード」ペインは、次のようになります。

    初期データが表示された「レコード」ペイン
  5. メタデータ・エディタの「レコード」ペインで、次の変更を行います。
    1. 「Record:recordName1」という「名前」フィールドをクリックし、「recordName1」というデフォルト値を、より説明的な名前に変更します。
    2. 「ProductKey」の「タイプ」をintegerに変更します。
    3. 「ProductName」の「タイプ」はstringのままにします。
  6. 「Duration」プロパティのカスタム・プロパティ・タイプを作成する手順は次のとおりです。
    1. 「レコード」ペインで、「Duration」プロパティをクリックして強調表示します。

      右の「フィールド」ペインに、次の例に示すように「Duration」のプロパティが表示されます。

      「Duration」プロパティの構成
    2. 「フィールド」ペインで、緑の「+」アイコンをクリックしてカスタム・プロパティ・エディタを表示します。
    3. 「名前」フィールドでmdexType、「値」フィールドでmdex:durationと入力します。

      カスタム・プロパティ・エディタは、次のようになります。

      カスタム・プロパティの構成
    4. カスタム・プロパティ・エディタで「OK」をクリックします。

      この結果、次のように「フィールド」ペインの「Duration」プロパティに、「カスタム」セクション(新規の「mdexType」プロパティがある)が追加されます。

      「カスタム」セクションを持つ「Duration」プロパティ
  7. 別のソース・プロパティ用にさらにmdexTypeカスタム・プロパティ・タイプを作成する場合は、手順6を繰り返します。

    たとえば、Location属性用に、「値」フィールドにmdex:geocodeを持つmdexTypeカスタム・プロパティを作成します。

  8. 「OK」をクリックして変更を適用し、メタデータ・エディタを閉じます。

前述したように、グラフが実行されてレコードが追加される際は、DgraphによりmdexTypeカスタム・プロパティが使用され、標準属性が作成されます。

「値」フィールドに次の値を設定すると、あらゆるMDEXプロパティ・タイプ用のmdexTypeカスタム・プロパティを作成できることに留意してください。
  • mdex:boolean: ブール用。
  • mdex:dateTime: ミリ秒までの精度の日付と時間を表現します。
  • mdex:double: 浮動小数点値用。
  • mdex:duration: ミリ秒の精度で時間の長さを表現します。
  • mdex:geocode: 緯度と経度の組を表現します。
  • mdex:int: 32ビット符号付き整数用。
  • mdex:long: 64ビット符号付き整数用。
  • mdex:string: XMLで有効な文字列用。
  • mdex:time: ミリ秒までの精度の時間の値用。