一种从XML Schema 到本体模型的映射方法
2011-08-14彭静罗伟
彭 静 罗 伟
辽宁装备制造职业技术学院( 沈阳 110161 )
主要研究如何从半结构化(这里主要指XML格式的文件)数据源获取期望的本体。首先对XML Schema作简要介绍,然后讨论了XML Schema到本体的映射规则,最后是实例分析,将XML Schema及符合XML Schema的XML内容转换为本体,对映射规则进行了验证。
借助于元素及内嵌的数据类型,XML Schema可以使得用户准确的描述文件的结构、内容和语法。与DTD相比,XML Schema提供了丰富的数据类型;XML Schema中的节点型态分为简单节点和复杂节点,简单节点没有属性,也没有非文字的子节点;在XML Schema中可以定义群组及衍生类型;另外,XML Schema还提供了定义唯一限制及参考限制的功能,如唯一限制声明xsd:unique和参考限制xsd:keyref等。
1 相关工作
对于 XML模式语言 XML Schema(或DTD),主要采取建立映射规则的方法将其中的一些元素映射到本体。Kavalec等人采用机器学习的方法来建立映射规则;Doan等采用预定义规则,对DTD的语义信息进行了分析,以生成相应的概念模型,然后由概念模式产生最终的本体;Volz等人将XML文档数据首先映射成一棵语法树,然后使用一些规则将语法树中的元素映射成本体中的概念和属性。但该方法在将XML Schema映射到本体时,较少考虑到XML Schema的完整性约束;Matthias等人提出了 XML Schema到OWL本体描述语言的映射规则,但论述较为粗略且映射规则的正确性有待商榷;Yuan等人则将基于XML的Web文档映射为用OWL-DL语言描述的本体。与现有方法不同的是本文提出的XML Schema到本体的映射考虑了XML Schema的完整性约束,同时实现了符合XML Schema的XML内容到本体的转换。
2 映射规则
Rule1:XML Schema的根节点映射为一个类,以根节点为父节点的复杂元素转化为其子类(subClassOf)。
Rule2:以根节点为父节点的简单元素(或属性、属性组(xsd:attributeGroup)中各属性)转化为根节点对应类的数据类型属性。
Rule3:复杂元素(节点类型为complexType)的属性(或引用属性组中的各个属性)及所包含的简单元素(节点类型为simpleType)转化为复杂元素对应类的数据类型属性。数据类型属性的定义域为复杂元素对应的类,值域由原映射属性的Type值来决定。
Rule4:复杂元素映射为一个类Ci,复杂元素所包含的复杂元素也映射为一个类 Cj,同时生成一个对象属性b,b的定义域和值域分别为Ci和 Cj。
Rule5:将xsd:key映射成一个类公理,设定minCardinality的基数为1。
Rule6:将与 xsd:unique所修饰属性对应的数据类型属性设置为函数属性。
Rule7:元素的maxOccurs、minOccurs属性分别映射成一个类公理,即设定minCardinality、maxCardinality、Cardinality的基数。
Rule8:将xsd:group映射为一个类,若复杂元素中显式包含xsd:group修饰的子元素或引用了xsd:group修饰的元素,则同时生成一个对象属性b。假定复杂元素对应的类为Ci,对应的类为Cj,则b的定义域和值域分别为Ci和Cj。
Rule9:由于OWL内嵌了XML Schema的数据类型,如 xsd:string、xsd:int等,因而 XML Schema中的数据类型不用作转换。
本文提出的映射规则与 Matthias Ferdinand等人提出的映射规则主要有以下几点区别:
(1)Matthias Ferdinand等人的方法将复杂元素与其所包含的复杂元素映射为 subClassOf关系,而本文将两者分别映射为类,则新定义一个对象属性。其原因在于复杂元素及其所包含的复杂元素在语义上并不能构成subClassOf关系。
(2)Matthias Ferdinand等人的方法没有考虑xsd:key 和 xsd:unique 等限制。
(3)Matthias Ferdinand等人的方法仅将xsd:group映射为一个类,而本文考虑了其他复杂元素对xsd:group的引用,并定义了描述两者关系的一个对象属性。
(4)Matthias Ferdinand等人将complexType类型的元素映射为对象属性,而本文则将之映射为一个类。
(5)Matthias Ferdinand等人将sequence、all映射为 owl:intersectionOf,sequence 意味着组合次序而非intersection,因而该映射的合理性值得商榷。
此外,由于Matthias Ferdinand等人没有原型实现,因而其所定义的映射规则:xsd:choice到 owl:intersectionOf、owl:unionOf 、owl:complementOf布尔组合的映射可行性无法验证。
3 实例研究
以一个实例的形式对比加以描述。以一个XML Schema为例,描述略,符合该模式的XML内容片段如下:
转换后的本体内容如下:
4 结束语
讨论了XML Schema到本体的转换方法,并与现有的方法进行了对比分析,同时结合理论分析给出了转换实例,表明了本文所述方法的正确性和有效性。
[1]杜小勇,李 曼等.本体学习研究综述.软件学报,117(9).