潘雪峰
摘 要:在互联网生物信息数据库中,各大研究机构之间生物信息数据是异地、异构和高度自治的,并且信息之间的存放是分散无序的。为了充分使用资源,必须建立关于生物信息数据的整合模型。在此提出一种新的基于XML表达的有序层次分形数据模型,通过对现有数据的结构化,借助BXEEM模型分别使用内部指针引用和外部链接的方法,将数据进行整合,更有利于生物信息数据的集成和融合。
关键词:XML;半结构化;异构数据集成;数据模型;数据集成
中图分类号:Q811.4;TP311 文献标识码:A 文章编号:1004-373X(2009)20-160-03
Data Integration Model of Biological Information Based on XML
PAN Xuefeng
(Wuhan Bioengineering Institute,Wuhan,430415,China)
Abstract:In Internet biological information database,among the major research institutions and bio-informatics data is remote,heterogeneous,high degree of autonomy,and the stored information is scattered between the disorder.In order to full use resource,integration model of biological information data is built.A new XML-based and orderly expression of data-level fractal model of the existing data structure is proposed,through the use of internal models BXEEM pointer references and external links to the method of data integration,it is more conducive to bio-informatics data integration and fusion.
Keywords:XML;semi-structure;heterogeneous data integration;data model;data integration
0 引 言
生物信息学(Bioinformatics)是通过对生物学实验数据的获取、加工、存储、检索与分析,达到揭示数据所蕴含生物学意义的目的[1,2]。
生物信息数据源的主要特点是:国际化生物数据库相互独立而又利用协议统一维护原始数据,而各实验室的数据库就各有特色;数据量庞大且增长速度很快;数据通过Internet进行发布,发布格式复杂多样[3,4]。目前非常必要的课题之一是将各自的、独立的、分散的基因组信息整合到一起,并且可以最大限度地消除冗余数据,保证数据的可靠性和准确性[5]。
本文重点讨论将XML作为中间媒介,建立新的生物信息公共数据模型,使异构生物信息数据的提取与集成更方便。
1 XML的特点
扩展标记语言(eXtensible Markup Language,XML)是一门新兴的面向Internet应用的标记语言,它将数据信息本身的存储和关联与表现形式相分离,且具有强大的可扩展性[6]。生物信息学的发展同样引入了XML技术。XML的特点如下:
(1) XML数据的自描述性。它指XML中的语义标识,一方面限定了元素的层次结构,另一方面也说明了元素的含义[7,8]。
(2) 内容的独立性。它将成为跨平台数据交换和操作的标准模式。实现异构数据集成中数据的互操作性。
(3) 能描述不同复杂程度的数据。XML提供了数据的结构化表示,并且易于操作。
(4) 可扩展性。XML可以在不破坏现有结构和系统的情况下增加新的数据字段。应用服务器利用XML对所有数据建模,若要改变数据模型只需改变数据模型定义。
(5) 结构性。数据存储格式不受显示格式制约。一般包括三要素:数据、结构以及显示方式。
因此,运用XML可以有效地解决新旧系统、不同应用系统之间或数据源之间的数据共享与交互问题。XML和数据库之间是互补的关系,在不同的场合有不同的优势[9,10]。可以很方便地交换复杂数据在不同平台上的浏览。
2 基于XML的生物信息数据模型
实际上,在此提出的半结构化数据模型是一种基于带标签、带根的有向有序树(An Labeled Rooted Directed Ordinal Tree)数据模型BXEEM(Based XML Extensible Exchange Model)。下面给出相关定义:
定义1 有向图G是一个有序四元组,G=(V,E,vr,Ψ)。其中:V是一个非空的有向图中根结点的所有结点集合;E V×V是此有向图中边的集合;(V,E)代表一个有向多重图(Directed Multi-graph);vr∈V表示根结点,并且满足该结点的入度为0;d(vr,vi)>0,vi∈(V-{ vr }),i=0,1,2,…,n,即vr到V中任意一个结点vi都有一条通路;Ψ为关联函数,是边集合E到(V×V)的一个映射,是带信息标签约束的映射。称G为带标签、带根的有向连通图,表示为G(V,E,vr,Ψ)。
定义2 在带标签、带根的有向连通图G(V,E,vr,Ψ)中,根结点(vr∈V)~V中任意一结点vi都恰有一条单向通路,称此有向图为有向树,记为T(V,E,vr,Ψ),vr为T的根结点。其中,如果结点的度d(vi)>1,vi∈(V-{ vr }),i=0,1,2,…,n,则称vi为内点或分支点;如果结点的度d(vj)=1,vj∈(V-{ vr }),j=0,1,2,…,n,则称其为叶结点。Ψ为关联函数,是边集合E到(V×V)的一个映射,是带信息标签约束的映射。
定义3 在带标签、带根的有向树T(V,E,vr,Ψ)中,存在vi∈(V-{ vr }),i=0,1,2,…,n。从vi出发的带标签连通的最大有向树,记为T′(Vi,Ei,vr,Ψi)。其中,Vi表示T(Vi,Ei,vr,Ψi)树的结点集;Ei表示T(Vi,Ei,vr,Ψi)树的边集;Ψi为关联函数,是边集合Ei到(Vi×Vi)的一个映射,是带信息标签约束的映射,称T′为T的子树。当T′的出度数为0时,T′是个结点;当T′的出度数不为0时,T′是个复杂树。
定义4 在带标签、带根的有向树T(V,E,vr,Ψ)中,T={t1,t2,…,tn},ti{i=0,1,2,…,n}是T的子树。当t1,t2,…,tn是按照一定顺序规则排列时,则称T为有序树。
定义5 在带标签、带根的有向树T(V,E,vr,Ψ)中,v0,v1,…,vn∈V,e1,e2,…,en∈E。其中,ei是连接vi-1,vi的边,交替序列v0 e1v1 e2…vn-1 en vn就称为联结v0~vn的路径。v0与vn分别称为路径的起点和终点。
这里的BXEEM(Based XML Extensible Exchange Model)数据模型就是基于带标签、带根的有向有序树(An Labeled Rooted Directed Ordinal Tree)的数据模型。树的每一个节点都有一个惟一的标识符(ID)。这个标识符可以显示用XML文档中某一元素的ID属性来标识,也可以为其分配一个惟一的ID来标识。然而点和边的交替序列可以惟一表示节点之间的路径。用标签表示信息的类别、标签标记标签之间的信息应如何被处理。
XML文档的数据模型的示意图如图1所示。
图1 XML文档的数据模型的示意图
3 BXEEM数据模型在XML中的应用
XML虽然与HTML属于半结构化数据,但之所以比HTML更具有数据描述和数据识别能力在于它自身可以定义严格的层次结构,如通过XML的DTD或Schema定义。因此在面向XML表达的数据建模过程中,必须具有描述表达XML元数据结构的能力。
模型对XML定义语法描述为:
〈! ELEMENT基元(基元头体,基元主体,关联基元)〉
〈! ATTLIST基元标识符ID#REQUIRED名字CDATA#REQUIRED引用IDREFS#IMPLIED
〈! --内部链接关系--〉〉
〈! ELEMENT基元头体(基元指针,(#PCDATA|empty|基元)*)*〉〈! --外部超链关系--〉
〈! ELEMENT基元主体(#PCDATA|empty基元描述内容)*〉
〈! ELEMENT基元描述内容(#PCDATA|empty)*〉
〈! ELEMENT关联基元(#PCDATA|empty|基元主体)*〉〈! --层次分形关系--〉
不同的BXEEM对象,其结构是相似的,其自我嵌套、自我描述的特性使得BXM对象在纵向呈现严格的层次树结构,而对处于同一层次或非同类路径的BXEEM对象之间关系,横向是由链接关系实现的,由BXEEM模型可知,链接关系存在不同类型的链接。由此可归纳出这种描述元数据的结构共性,称之为层次分形-多级超链的基元。
各对象之间关系动态改变时,通过基元头体可动态关联和建立新的链接关系,根据不同的需求实现基元的重组织,从而透明映射到BXEEM对象,重新组合形成新的有向图。基元指针的指向为一个新的出口,该出口可对应于另一个XML文档。它可采用物理路径或采用惟一的ID表示。
此模型建立的基元具有以下特性:
(1) 层次树自我递归生长的特性。一个基元通过其关联基元能够衍生出新的子基元,多次递归生长成树型结构的组织,由此形成BXEEM模型的对象层次结构关系。此特性实现了对整个BXEEM对象的描述。
(2) 自我重组织特性。一个基元通过基元头体实现与外部的动态导航功能,利用其属性建立内部链接关系,从而根据不同的需求实现基元的动态重组织。此特性实现了BXEEM对象间链接关系的动态改变。
通过基元的操作,可保证BXEEM对象代数操作的一致性。对XML文档而言,则确保了该文档的一致有效性和合法性。
3.1 根据BXEEM模型对象的定义,在描述表达BXM数据模型时,又做了一些规定
规定1 BXEEM模型用有向树的节点和有向实边的标识(Label)表示被描述对象(数据)。结点用圆表示。结点必须含有标识符oid以及标记名(Labelname),有向实边表示对象与其子对象间的嵌套关系,有向实边的标识表示对象的Labelname。
规定2 BXEEM模型用有向虚边表示对象属性以及对象间的链接引用关系。
规定3 BXEEM模型的复杂对象结点可以具有多个引出向的实边,但只能有惟一引入向的实边表明,该对象仅能有一个父对象来反映XML文档严格的层次嵌套关系。
规定4 BXEEM模型中规定结点在同一层按照从左到右的顺序依次排列,以此来表明BXEM数据模型与XML文档的匹配。
根据BXEEM模型的定义,层次分形-多级超链的基元描述了XML文档的DTD以及XMLSchema,保证了在该基础上BXEEM模型表达XML文档的一致有效性和合法性。与XML文档匹配有如下关系:XML元素采用XOEM对象表达,XML的子元素嵌套关系反映了BXEEM的子对象关系。XML元素之间的顺序不是任意的,因此BXM模型中规定各结点按照从左到右的顺序作为XML元素表达的顺序。
XML的链接引用存在两种方法:一种是内部指针引用,即通过ID与IDREF(S)实现的,在BXM模型中对象的oid与ID相匹配,对象的引用属性名均可作为IDREF(S)的类型。因此有向虚边与实圆构成内部链接引用。另一种是外部链接,即通过Xlink/Xpointer。外部链接分为两级即link=1时表示线性超链(简单链接),link=2时表示扩展超链。
3.2 实例
以下是一个XML数据文档实例。以信息为例,其BXEEM有向树如图2所示。现以XML描述如下:
< list > XVSGTVCLSALPPEATDTLNLIASDGPFPYSQDGVVFQNRESVLPTQSYGYYHEYT
VITPGARTRGTRRIITGEATQEDYYTGDHYATFSLIDQTC