这里给出的EBDI的形式化描述继承了上一章中ER流程的代数模型(Talburt,Wang, Hess, Kuo, 2007),该ER流程是为了实体引用集上的等价关系(Holland,Talburt, 2009; Talburt,Hashemi, 2008)所定义的。EBDI的形式描述始于一个集成环境的概念。该集成环境提供了一个明确的机制来描述一个信息源集合中的实体等价(ER部分)和属性等价(集成部分)。在处理基于实体的集成时,实体和属性等价都必须考虑到。
定义4.1: 一个信息源 S=(E, Q, V, f) 为四重的,
1) E为一个非空的,实体引用的有限集
2) Q为一个非空的,属性的有限集
3) V为值的有限集,可能包含null值
4) f为一个方法满足f:E × Q V
这里使用的一个信息源的定义与一个关系模式等价(Ullman, 1989),并且是一个信息系统的概括化(Pawlak, 1984)。
定义4.2: 一个集成环境G=(C, X, Y)为三重的,
1) C= {S1, S2, …, Sn}是一个信息源的有限集合,并且每个信息源满足条件2,
2) Si= (Ei, Qi, Vi, fi), 1≤ i ≤ n
3) x是合并后的实体集上的等价关系
4) Y是合并后的属性集上的等价关系
定义4.3:集成环境G下的一个集成实体是中的任意一个成员,为实体等价关系x在上定义的所有的等价类的集合,也就是,,ē代表实体e的等价类。
定义4.4:集成环境G下的一个集成属性是中的任意一个成员,为属性等价关系Y在上定义的所有等价类的集合,也就是,,代表属性q的等价类。
集成环境为表达实体等价和属性等价提供了形式化机制,还提供了从一般数据集成中的区分实体集成的特征。模型没有定义或依赖该机制来实现等价关系X和Y。X代表一些ER流程应用于集成环境G中的所有实体而生成的结果 (Talburt,Wang, Hess, Kuo, 2007) 。
从另一方面来说,的集成属性可能包括一些类型的数据转换来实现等价(Bilenko, 2003;Naumann, 2002),例如,一个信息源中的一个属性“员工年龄”可能与另一个信息源中基于日期映射的等价属性值”员工出生日期”匹配(转换后)(Welty, 2001)。
一个与实体等价类和属性等价类相关的有用的概念是值的范围。
定义4.5: 对于和 ,ē在上的值的范围用表示,定义如下:
由定义4.5可知,是由一个给定的等价属性集合上的一组等价实体的所有属性值的集合。例如,如果S1有一个实体e1,属性a1和属性值v1,S2有一个实体e2,属性a2和属性值v2.如果e1和e2为等价实体,a1和a2为等价属性,那么v1和v2将属于集合。期望是v1和v2为相同的值,因为它们来自等价实体引用的相同的属性——譬如说年龄。然而,情况并非总是这样的,因为等价引用可能在相同或等价属性上有着不同的值。在年龄属性的情况下,就可能因为引用是在不同时间下创建的。年龄值实际上对于每个引用创建的时间上下文来说是正确的,但是当两个引用整合在一起时,却产生了冲突。这也是为什么年龄或其他依赖时间的值应该以一个参考点来存储。如果每个数据源中给出的年龄都有一个参考点,例如出生日期或获取的日期,值就合理化了。在任何情况下,是所有这些值得集合,也就产生了一个单独值的集合选择来表示集成实体的集成属性。
定义4.6:一个集成属性 的集成选择操作符是任何一个方法
1) 并且
2) , ,
定义4.6简单说明了一个集成选择操作符必须为其中一个底层实体组成的实体类所提供的属性赋一个值。下面的例子将会很好的阐述这些概念。
例子4.1:假设两个信息源S1和S2有一下几个特征:
S1= (E1, Q1, V1, f1) 满足, U1 = {e1, e2, e3}, Q1 = {q1, q2,q3}, V1 = {-1, 0, 1, 3, +4, “AB”, “X”}, 且
f1 如表1所定义。
表 4.1 f1的定义 | |||
E1 | q1 | q2 | q3 |
e1 | 3 | “AB” | 0 |
e2 | 1 | “X” | –1 |
e3 | 0 | “AB” | +4 |
现在考虑集成上下文G= (C, X, Y), 满足C= {S1, S2} 同上,
X定义了5个集成实体(实体等价类)如下
= {{e1, e6}, {e2, e4}, {e3}, {e5},{e7}}
Y定义了4个集成属性(属性等价类)如下
= {{q1, q4},{q2, q5}, {q3}, {q6}}
表4.3中的每个单元显示了由定义4.5中得出在集成上下文(G,X,Y)中的每个集成实体和集成属性的组合的值的范围,如例子4.1中所定义的。
表4.3 值的范围 | ||||
{q1, q4} | {q2, q5} | {q3} | {q6} | |
{e1, e6} | {3} | {“AB”, “RS”} | {0} | – |
{e2, e4} | {1} | {“X”, “M”} | {–1} | {123} |
{e3} | {0} | {“AB”} | {+4} | – |
{e5} | {2} | {“X”} | – | {643} |
{e7} | {4} | {“AB”} | – | {901} |
以={“AB”, “RS”}为例,该例子也表明可能只包含null值,因为集成实体中没有一个实体为属性提供一个值。使用相同的例子,表4.4为定义了一个可能的集成选择操作符。
表 4.4 的集成选择操作符 | |
ē | |
"RS" | |
"X" | |
"AB" | |
"X" | |
"AB" |
因为的选择操作符可以有的两个值的选择和的两个选择,表4.4代表这四种可能的选择操作符中只有一种满足。
集成选择操作符在集成属性层上因为两个原因而定义。一个是用来简化描述形式化框架,第二,通常是描述集成是怎样在实际应用中实现的。知识库仲裁用于描述流程中选择操作符必须选择有时对于一个给定的集成实体和集成属性相互冲突的值。