APP下载

基于本体的高校信息资源集成研究

2015-09-01

通化师范学院学报 2015年6期
关键词:信息源异构全局

刘 萍

(江阴职业技术学院,江苏 江阴 214405)

1 引言

目前我国高校各部门各自先后开发了管理信息系统,形成了一个个信息孤岛,无法统一访问各个系统中的异构信息资源,因此,需要对异构信息资源集成.传统的信息资源集成方式,如:基于XML的信息集成[1],能较好地解决信息源结构和语法上的异构,却无法解决语义异构.因本体对资源在语义层次上的形式化描述和对逻辑推理的支持[2],可解决语义异构问题.本文提出了基于本体的信息资源集成模型体系结构,并对该模型的关键技术进行了研究,最终设计原型系统验证了该模型的可行性.

2 基于本体的信息资源集成模型体系结构

混合本体方法[3]是基于本体的信息资源集成方法中的一种,该方法建立局部本体与各信息资源之间的关系,并在局部本体之上使用共享的词汇集合,即全局本体,它包含了领域中的基本术语,它是构建局部本体的基础.经典的“Wrapper/ Mediator(包装器/调节器)”体系结构,它通过提供所有异构信息源的虚拟视图进行集成[4].本文借鉴混合本体和“Wrapper/ Mediator”体系结构,并结合Web Services技术提出基于本体的信息资源集成模型体系结构,如图1所示.该模型不仅适合高校信息资源集成,而且还可以通过改变本体定义和信息资源改变模型的应用范围,该模型若应用到企业,可以集成企业各供应链上的信息资源,给企业决策提供支持,因此,该模型具有通用性.

图1 基于本体的信息资源集成模型体系结构

2.1 模型层次结构

模型分为以下三个层次.

(1)信息资源抽取层,该层主要负责获取分布在各个异构信息资源中的信息.该层设计了Wrapper,其功能是将对底层信息资源的查询封装成查询服务,并把根据局部本体和本体映射构建服务描述信息注册到服务注册中心.该层信息源可以有结构化、非结构化和半结构化等.本文主要研究关系数据库的异构信息集成.

(2)信息集成中介层,该层查询分析器对用户请求按本体库进行推理,找到语义上相似的概念扩展原请求,并按本体库转换成全局Ontology_SQL查询,该查询类似SQL,但查询中所用术语是本体库中的概念和属性;接着把该查询提交给查询分解器,按分解算法分解为Ontology_SQL子查询集,子查询集由查询翻译器根据本体库翻译为SQL子查询,SQL子查询提交给查询处理器,通过发现服务注册中心的查询服务获取查询结果,并将结果进行合并、去冗余、排序、转换等处理,将查询结果返回给用户.

(3)用户接口层,该层为用户提供统一访问界面,用户输入查询请求,然后在界面上会得到返回结果.

2.2 本体构建

本体在信息集成中起着语义描述、为查询提供全局视图和本体推理等作用.因此,本体是解决语义异构问题的核心.下文对本体进行构建.

(1)全局本体构建需要在领域专家的帮助下建立[5].包含如下4个步骤:①分析信息源;②查找和确定术语;③定义全局本体:全局本体中的概念一部分来源于领域专家的抽取,另一部分来源于局部信息源集合,如某信息源中具有代表性的信息经专家判定后可归纳到本体中;④本体编码:形式化描述出来,因OWL提供丰富的语义表达机制,因此,本文采用OWL来描述本体.

(2)高校信息资源中主要信息源为关系数据库,本文主要讨论该种类型信息源的局部本体构建,并同时产生局部本体与信息资源的映射.基于关系数据库的局部本体创建策略[6]:每个数据库对应一个局部本体,表对应局部本体里的类,表名即为类名,用owl:class表示,表中的字段对应局部本体中该类的属性,属性名即为字段名,用owl:datatypeProperty表示,除外键外所有字段都定义为该形式.外键字段定义为类的owl:objectProperty,设置rdfs:range为所参照的表转换的类,rdfs:domain表示该字段所属的表转换的类.

(3)本体映射是解决语义异构问题的核心.建立本体映射为查询分解提供支持.本文中通过如下规则建立全局本体与局部本体映射.

①两个概念有相同的父概念,或者有相同的子概念,或者有相同的兄弟,或者存在相同的实例,或者存在相同的属性,则表示这两个概念可能相同;

②若两个属性存在相同的定义域或值域,或者存在相同的父属性,或者存在相同的子属性,则表示这两个属性可能相同.

2.3 全局查询分解算法

全局Ontology_SQL查询,定义:设C为全局本体中的概念,A为属性,全局Ontology_SQL查询定义为元组,其中:Select={Ci.Aij|∀i=1,…,n,∀j=1,…,m},Ci为全局本体中任意的概念,Aij表示概念Ci对应的某属性;From={ Ci|∀i=1,…,n},Ci为全局本体中任意的概念;Where=Wcon∪WvarWcon{wconi|i=1,…,s}表示将概念的属性与常量相比较;Wvar={wvar i|i=1,…,t}表示将概念的属性与其他概念的属性相比较.

全局查询分解算法就是使用局部本体中等价的术语替换全局Ontology_SQL查询语句中的术语.本文提出了一个简单易用的全局查询分解算法[7]:

输入:全局Ontology_SQL查询,以及全局本体与局部本体之间的映射文件mapping.owl.

输出:针对每个局部本体的子查询(也即针对各信息源的子查询).

算法:

(1)对全局Ontology_SQL查询进行子句分离,分离其Select、From、Where子句.对于Select子句中的每一个形如Ci.Aij的子项,在mapping.owl中查找类Ci,使用Jena API对该映射文件进行解析,取出与Ci对应的等价类.同理查找属性Aij,取与之对应的等价属性,将类与属性的等价结果组装成对应各个局部本体的子表达式,将结果写入Select列表.

(2)对于From子句,在mapping.owl中查找类,取与之对应的等价类进行替换,将结果整合写入From列表.

(3)对于Where子句中每一个形如C.mD.n提取其类、属性和关系,在mapping.owl中查找全局类C、D,取与之对应的等价类,并且查找全局属性m、n,取与之对应的等价属性,对于Where子句中每一个形如C.mConstant,Constant常量不作处理,仅类似于前面处理C.m,最后将类与属性的等价结果组装成对应各个局部本体的子表达式后,将结果写入Where列表.

(4)最后合并对应的三个子句,组装出对应各个局部本体的子查询.

2.4 原型系统

为验证模型,本文采用JavaEE平台下的SSH框架进行原型系统开发.开发环境采用MyEclipse2014,应用服务器采用Tomcat7.0.系统采用当前开发Web的主流技术:Struts、Spring、Hibernate、Web Services和Jena等,采用MySQL数据库存储信息.用户通过浏览器访问该原型系统,例如:输入关键字“学生”进行查询,如图2所示,查询出来的结果集里不仅包括“学生”的结果,还包含“新生”、“毕业生”、“成教生”等结果.实验结果验证了本文提出的模型能够解决语义异构问题.

图2 原型系统的用户界面

3 总结

本文提出基于本体的信息资源集成模型采用全局本体为信息资源集成提供全局视图,局部本体描述各信息源的语义,本体的两级映射降低了集成系统的耦合性.由于高校信息资源中不仅有各类关系数据库,还有很多资源是网页和电子文档,本文仅研究了对关系数据库这类资源的局部本体构建,未来将研究如何自动创建网页和电子文档等信息资源的局部本体,还将在本体映射、查询优化等问题上继续研究.

猜你喜欢

信息源异构全局
Cahn-Hilliard-Brinkman系统的全局吸引子
试论同课异构之“同”与“异”
量子Navier-Stokes方程弱解的全局存在性
睡眠者效应
新媒体时代,记者如何正确使用信息源
吴健:多元异构的数字敦煌
落子山东,意在全局
异构醇醚在超浓缩洗衣液中的应用探索
LTE异构网技术与组网研究
新思路:牵一发动全局