system: [SYSTEM]

user: 3. 数据模型与数据模式 3.1. Web数据模型与Web数据模式 Web上结构化数据通常是由后台数据库中的数据记录按着一定的格式(比如：列表页和详情页)展现在页面上。从数据表现的结构上分析，这类结构化数据通常由数据项、记录元组和记录集合构成。针对Web结构化数据，本文提出一种Web结构数据模型，作为Web结构化数据分析与建模的基础 [ 2 ] [ 5 ] [ 6 ] 。 定义1. WEB结构数据模型：定义为一个三元组(Type_set， T_tree_set， T_enc_set)： Type_set为类型集，包括：基类型、元组类型、集合类型、平坦元组类型、平坦集合类型、平坦关系和嵌套关系； · 基类型Basic_types = {B1， B2， ……， Bk}，其中，Bi表示原子类型，其值域dom(Bi)是一个常量的集合。 · 元组类型Tuple_type = [T1， T2， ……， Tn]，其中，Ti (1 ≤ i ≤ n)是基类型或集合类型，dom([T1， T2， ……， Tn])={[v1， v2， ……， vn] | vi∈dom(Ti) }； · 集合类型Set_type = {T}，其中，T是一个元组类型，其值域dom({T})是dom(T)的幂集。 · 平坦元组类型：对于一个元组[T1， T2， ……， Tn]，其中Ti (1 ≤ i ≤ n)是基类型，那么该元组就是平坦元组类型。 · 平坦集合类型：对于一个元组集合{T}，T为平坦元组类型，那么该集合就是平坦集合类型。 · 平坦关系：对于一个集合，如果该集合的所有元素都是基类型，那么该集合所表示的关系是平坦关系。 · 嵌套关系：对于一个集合，如果该集合的元素中有集合类型的元素(不都是基类型)，那么该集合所表示的关系是嵌套关系。 · T_tree_set为类型树，包括：基类型树、元组类型树和集合类型树； · 基类型树：一个基类型Bi是一颗叶子树或者一个叶节点。 · 元组类型树：一个元组类型[T1， T2， ……， Tn]是一颗以元组节点为根的含n颗子树的树，每个Ti对应一颗子树。 · 集合类型树：一个集合类型{T}是一颗以集合节点为根的含一颗子树的树。 · T_enc_set为类型编码规则集，包括：基类型编码规则、元组类型编码规则和集合类型编码规则。 · 基类型编码规则：对于一个用T标注的基类型的叶子节点，其实例t将被编码成： · T_enc(T;t)= S_TAG t E_TAG，S_TAG和E_TAG分别表示开始标志和结束标志。 · 元组类型编码规则：对于一个用T标注的有N个属性元组节点[T1， T2， ……， Tn]，这个元组类型的实例将被编码成： T_enc(T;[t1， t2， ……， tn])=S_TAG T_enc (t1)，T_enc (t2)，……，T_enc (tn) E_TAG，S_TAG和E_TAG分别表示开始标志和结束标志。 · 集合类型编码规则：对于一个用T标注的集合类型的节点，这个非空的集合实例{s1，s2，……，sn}将被编码成： · T_enc (T; {s1， s2， ……， sn}) =S_TAG T_enc (s1)，T_enc (s2)，……T_enc (sn) E_TAG，S_TAG和E_TAG分别表示开始标志和结束标志。集合元素被一个排序函数排列起来。 · 列表：按照一个排序函数<排好序的集合实例，一个空集合实例被编码成S_TAG E_TAG。 Web表数据被建模成平坦关系和嵌套关系，可以包含集合和元组的有类型的对象。平坦关系和嵌套关系通常可以用DOM树来表示，关系实例的HTML(或XML)标记编码将DOM树的每个节点与一个基于编码规则的标注函数相关联。 后台数据库中的数据都是以结构化的形式展示于Web表中，Web表包括详情页和列表页两种类型，以Web表作为基本的数据抽取对象，为此在Web数据模型的基础上定义Web表数据模式。 定义2. Web表模式：为一个六元组(W_Table_T， W_Table_N， W_Table_DN， W_Table_R_set， W_Table_enc， W_Mapping _set，)： W_Table_T：Web表类型(详情页或列表页)。 W_Table_N：Web表名，是一个集合类型，由表示某一领域同一实体的不同Web页面中若干Web表名构成。 W_Table_DN：Web数据项名，是一个集合类型{B1，……Bn}，其中，Bi是同一Web数据项的同义词的集合。 W_Table_R_set：Web表数据记录集合，是一个元组集合类型，每条记录是一个元组类型。 W_Table_enc为Web表数据记录的HTML或XML编码规则，是Web结构数据模型中类型编码规则集T_enc_set的实例。 W_Mapping _set= (Attr_Mapping_set， Table_mapping_set) Web表模式到领域集成模式中的属性映射和表映射规则集合，其中 Attr_Mapping_set= {(W_Table_DNiAj_NIntegrity_Rule_set)， …..} IntegrityRule_set为完整性处理规则集，包括：类型转换处理规则、异常值处理规则、空值处理规则，等等； Table_mapping_set= {(W_Table_Ni > Tj_N， …..}为web模式中的web表W_Table_Ni到集成模式中的实体Tj_N的映射规则。 3.2. 领域模型与领域数据模式 Web页面表数据通常是由查询相关的后台数据库表记录通过HTML或XML编码规则产生的，所以面向领域的Web结构数据具有以下的特性： 1) 有限的实体和属性。在一个领域中一般只有有限的实体名(Web表名)和属性名(数据项名)。2) 面向领域的Web网站中存在大量相似的Web表格实体和同义词数据项名。比如行业网站提供相似的数据查询服务或者为同类的产品提供了大量相似的表格。3) 附加的结构语义。表格上的属性往往是有语义约束，属性之间存在语义约束或层次化的结构关系 [ 6 ] 。 领域数据集成首先是要建立领域集成模式，并完成Web表格到集成模式的映射与匹配。一旦对同一个领域的一组Web表格完成匹配，就可以自动的构建一个领域数据模型。领域中数据的组织和表达基于领域属性、实体和语义约束，由领域属性、实体、约束以及与领域中不同站点或页面的Web表的映射关系构成领域模型。 定义3. 领域模型：为一个三元组(D_Attr_set， D_Tab_set， D_constr_set) 其中： · D_Attr_set为领域属性集：表示为一个三元组(Ai_N， Ai_Type， Ai_constr)的集合{(A1_N， A1_Type， A1_constr)……(An_N， An_Type， An_constr)}. · 其中，Ai_N为属性名，Ai_Type为属性类型，Ai_constr为属性完整性约束(包括属性的值域、初始值等)； · D_Ent_set为领域实体集：表示为三元组Entity_Ti = (Ti_N， Ai_SET， Ti_constr)的集合{Entity_T1，……Entity_Tn}，其中1≤j≤n，Ti_N为实体名，Ai_SET，为属性集合，Ti _constr表示属性值之间的依赖关系和关键字属性等，且任意两个实体Entity_Ti与Entity_Tj之间不允许有重复的非键属性。 · D_constr_set为领域约束集：表示领域中不同实体Entity_Ti，和Tj之间(1 ≤ i ≤ n， 1 ≤ j ≤ n， i ≠ j)实例的对应关系(包括1:1，1:n和n:m)。 定义4. 领域模式：是针对某一具体领域集成需求利用领域模型概念建立的集成数据库模式，表示为一个四元组(M_N， M_Attr_set， M_ Ent_set， M_constr_set)。 其中： · M_N为领域模式名(即，领域数据库名)。 · M_Attr_set为某一个具体领域属性集； · M_Ent_set为某一个具体领域的实体集， · M_constr_set为某一个具体领域约束实例集。