Powered by Zoomin Software. For more details please contactZoomin

MarkLogic Data Hub

エンベロープパターン

  • Last Updated: April 5, 2026
  • 3 minute read

エンベロープパターン

概要

MarkLogicデータハブは、エンベロープパターンを使用してデータをカプセル化します。エンベロープパターンでは、元のコンテンツおよび関連するメタデータを同一エンベロープ(「エンティティ」)に格納します(それぞれの独立性は維持されます)。これにより、元のコンテンツを保持しながら、メタデータを追加できます。

JSON

   {
    "envelope": {
      "headers": [],
      "triples": [],
      "instance": {
        "your original data": "goes here"
      }
    }
  }

XML

   <envelope>
    <headers/>
    <triples/>
    <instance>
      your original data goes here
    </instance>
  </envelope>

例:エンベロープパターン

MarkLogicデータハブでは、元のデータを保持する一方、メタデータをエンベロープに追加することで、フィールド名や形式が異なるデータをハーモナイズできます。

例えば、2つのデータソースに性別情報が含まれているが、それぞれのフィールドの名前と形式が異なっている場合を考えます。

source-1.json source-2.json
```json { "gender": "f", "age": "32", ..., "firstName": "Rebecca" }
</td>
   <td>
```json
   {
    "gndr": "female",
    "age": "39",
    ...,
    "firstName": "Leona"
  }

エンベロープでは、これらのフィールドを1つのフィールドに標準化して、このエンベロープ内にメタデータとして保存できます。

harmonized-1.json harmonized-2.json
```json { "headers": [ { "normalizedGender": "female" } ], "triples": [], "instance": { "gender": "f", "age": "32", ..., "firstName": "Rebecca" } }
</td>
   <td>
```json
   {
    "headers": [
      { "normalizedGender": "female" }
    ],
    "triples": [],
    "instance": {
      "gndr": "female",
      "age": "39",
      ...,
      "firstName": "Leona"
    }
  }

アプリケーションは、データソースが異なっていてもこの同じフィールド名(normalizedGender)でデータハブに対してクエリを実行でき、同一の形式(female)で結果を得られます。

TitleResults for “How to create a CRG?”Also Available inAlert