マッピング定義ファイル

マッピング定義の情報です。

マッピングでは、ソースデータセットのフィールドとエンティティモデルのプロパティの間の対応関係を定義します。フロー内のマッピングステップでは、マッピング定義ファイルを使用します。

すべてのマッピング定義ファイルは、your-project-root/mappings/yourflowname-yourmappingstepnameディレクトリにJSONとして保存されます。ファイル名はyourflowname-yourmappingstepname-version.mapping.jsonの形式である必要があります。例えば、ProductMappingというマッピングの最初のバージョンは、your-project-root/mappings/MyFlow-ProductMapping/MyFlow-ProductMapping-0.mapping.jsonという名前で保存されます。

詳細は、マッピングについてを参照してください。

マッピング定義ファイルのテンプレート

   {
    "language" : "zxx",
    "name" : "MyFlow-MyMappingStep",
    "description" : "",
    "version" : 1,
    "targetEntityType" : "http://example.org/MyEntity-0.0.1/MyEntity",
    "sourceContext" : "/",
    "sourceURI" : "/q/data-hub/....json",
    "properties" : {
      "my-entity-property-1": {
        "sourcedFrom": "my-source-field-1"
      },
      "my-entity-property-2": {
        "sourcedFrom": "myFunction( my-source-field-X, my-source-field-Y )"
      }
    }
  }
フィールド 説明
languageソースレコードの言語(定義されている場合)。それ以外の場合は、zxxとなります。
nameマッピングの名前です。QuickStartで生成した場合、形式はyourflowname-yourmappingstepnameとなります。
description(オプション)マッピングの説明です。
versionマッピングのゼロベースのバージョンです。この値は、ファイル名のバージョン部分とマッチする必要があります。
targetEntityTypeマッピングの対象となるエンティティのURI。QuickStartで生成した場合、形式はyourentitybaseuri/yourentityname-yourentityversion/yourentitynameとなります。
sourceContextソースのJSONにおいてソースフィールドが存在するルート。
sourceURIソースフィールドを抽出する対象となるソースレコードのURI。
properties キー/バリューのペア。以下のようになっています。
  • キーは、対象となるエンティティプロパティの名前です。
  • バリュー(値)は、ソースおよび他のプロパティの配列です。
例えば、sourcedFromの値としては以下が想定されます。
  • 特定のソースフィールド。
  • 対象となるエンティティプロパティに割り当てる値を計算するマッピング関数。
  • XPath 2.0式。

sourcedFrom式

sourcedFrom内の式は、XPath 2.0標準に準拠する必要があります。以下のようなものがあります。

説明
for ... in ... return ...
   "my-entity-property": {
    "sourcedFrom": "for $item in items/* return $item"
  },
エンティティプロパティには、items/*の最後の項目が割り当てられます。
if (...) then ... else ...
   "my-entity-property": {
    "sourcedFrom": "if (price > 100) then 'high' else 'low'"
  },
エンティティプロパティには、文字列「high」あるいは「low」のいずれかが割り当てられます。

式において以下の演算子を使用できます。

算術演算子 +, -, *, idiv, div, mod
比較演算子 is, eq, ne, lt, le, gt, ge, =, !=, <, <=, >, >=, <<, >>
論理演算子 AND, OR