跨模型、查询与克莱斯利范畴:数据集成与建模的深入探索
1. 模型映射与合并基础
在数据建模中,我们常常会遇到需要整合多个模型数据的情况。为了处理部分映射的问题,我们引入了一种标准的范畴构造——跨度(span)。例如,对于映射 rrr1,我们将其具体化(reify)为一个新的模型 rrr1,并配备两个完全投影映射 rrr11 和 rrr12,以此将部分映射替换为完全映射。
以下是涉及的部分模型结构示例:
| 模型 | 结构 |
| — | — |
| Metamod.P1 | Person(name: Str, bdate: Int3) |
| Metamod.P12 | Person(fname: Str, title: {Ms,Mr}, lname: Str, /tname: Str) |
通过这些模型和功能 q - 映射,我们可以指定所有数据。例如,在一个图中,箭头表示映射关系,带钩尾的箭头表示模型包含到其通过查询 Qi 计算出的派生元素的增强模型中。
模型合并的多映射场景
我们的目标是集成上述图中指定的数据,首先聚焦于无数据丢失和重复地合并模型 P1、P2 和 P12。这需要遵循类型规则,先合并它们的元模型。具体步骤如下:
1. 对元模型 PPP + 1、PPP + 2 和 PPP + 12 取不相交并集,确保无数据丢失。
2. 将通过映射 rrr1、2 相关的元素粘合在一起,避免数据重复。
合并后的结果可能存在冗余,例如属性 ‘tname’ 和属性对 (title, lname) 是相互可推导的。我们需要进行归一化处理,即选择其中一个作为基本结构,另
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



