エンベロープパターン
概要
MarkLogicデータハブは、エンベロープパターンを使用してデータをカプセル化します。エンベロープパターンでは、元のコンテンツおよび関連するメタデータを同一エンベロープ(「エンティティ」)に格納します(それぞれの独立性は維持されます)。これにより、元のコンテンツを保持しながら、メタデータを追加できます。
{
"envelope": {
"headers": [],
"triples": [],
"instance": {
"your original data": "goes here"
}
}
}
<envelope>
<headers/>
<triples/>
<instance>
your original data goes here
</instance>
</envelope>
例:エンベロープパターン
MarkLogicデータハブでは、元のデータを保持する一方、メタデータをエンベロープに追加することで、フィールド名や形式が異なるデータをハーモナイズできます。
例えば、2つのデータソースに性別情報が含まれているが、それぞれのフィールドの名前と形式が異なっている場合を考えます。
source-1.json | source-2.json |
---|---|
|
|
エンベロープでは、これらのフィールドを1つのフィールドに標準化して、このエンベロープ内にメタデータとして保存できます。
harmonized-1.json | harmonized-2.json |
---|---|
|
|
アプリケーションは、データソースが異なっていてもこの同じフィールド名(normalizedGender)でデータハブに対してクエリを実行でき、同一の形式(female
)で結果を得られます。