基于本体理论的关系数据库存储模式

2014-12-23 01:14胡甜甜
计算机工程与设计 2014年9期
关键词:关系数据库概念模型本体

胡甜甜,曹 旻

(上海大学 计算机工程与科学学院,上海201900)

0 引 言

传统的关系数据库存储模式适用于数据模型明确的情况下,对于数据模型中实体的新增和删减、属性的新增和删减甚至实体和实体属性名称的更改,其存在很多弊端。实体和属性的增减将变动存储结构,实体和属性及其名称的更改将影响没有及时更新的外部数据的访问接口,这将直接导致系统执行发生异常。传统的关系数据库存储模式无法很好应对变化中的数据存储问题。利用本体技术优秀的领域知识表达能力,来描述关系数据库概念模型,通过研究分析现有本体在关系数据库中的存储模式的优势与不足[1-5],实现OWL本体描述的数据库概念模型在关系数据库中存储映射关系。基于本体的关系数据库存储模式用以支持数据模型的演变。

1 相关技术

将数据库概念模型采用本体表达,必将涉及到本体的关系数据库存储。现有的本体映射模型有很多种,各有其优缺点。常见的几种本体存储模式如下:

水平数据模式:将本体信息用一张通用的数据库表表示,表中记录即为类实例,所有本体属性对应表中字段。这种模式受到数据库系统对表中最大列限制。

垂直表模式:通过一个RDF三元组表记录本体实例信息,该存储模式是通过分解本体中复杂的数据关系,得到简单的RDF二元关系后再进行表达和存储。在该模式下,添加删去数据库表记录并不会对表结构产生影响,这种结构简单易实现的存储模式比较适合实例多变的本体。但是,该模式下数据可读性非常差,对于单个本体的查询,需要搜索整个数据库并且需要做大量的连接操作,严重影响查询效率。

分解模式:分解模式有2 种:属性分解和类分解。实现原理是根据属性和类的不同将该模式下的数据库表进行分解。在分解模式下,本体的变化会导致不断创建删除表,因此分解模式存储本体不利于本体的演变。

混合本体映射模式:将2 种分解模式混合起来使用,为类和属性分别创建数据库表。

改进的混合本体映射模式 (OOM/ORM)[6]:该模式基本思想为首先将本体映射到POJO 对象模型,然后利用ORM 技术将对象模型映射到关系模型。该模式中将本体映射为POJO 对象模型过程中除去本体类的包含关系,做了部分语言成分的限制,损失了部分语义信息。

面向查询的OWL本体存储方法[7-11]:在混合模式基础上,添加了记录本体状态的信息,将常用查询信息抽取单独存放,同时将推理得来的隐含信息显示存储。该模式保证查询效率,但同时增加了推理信息的更新代价。

数据库概念模型采用本体表达,其数据的演变扩展需求,反应为描述本体的不断更新。针对本体的更新要求,水平数据模式和分解模式的本体存储方式会造成存储结构的频繁改动。同时考虑到存储模式要满足一定的查询效率,垂直模式和混合模式缺陷明显。而改进的混合本体映射模式,由于其存储方式为本体类和类属性映射为POJO 对象及属性,而限制了类内部结构的灵活扩展。文中提出的关系数据库的新型存储模式保留了当前本体存储模式在支持本体演变方面的优点,是对本体关系数据库存储模式的改进。

2 基于本体理论的关系数据库新型存储模式

基于本体理论的关系数据存储映射模式的实现过程是,首先将关系数据库概念模型映射为概念模型本体,再将概念模型本体依照改进的本体存储模式映射到POJO 对象模型中,最后利用ORM 技术将对象模型映射为关系模型。

2.1 构建概念模型描述本体

数据库概念模型描述内容包括数据实体、实体属性和实体之间关系。采用本体[5,6]来描述数据库概念模型,存在基本的映射关系:数据库概念模型中的实体对应于本体class;数据库概念模型中的实体属性对应于数据属性Data Properties;数据库表中的记录信息则是类实例个体Individual对应的Data Properties的值集合。实体关系用Object Properties来描述;在实际的数据库设计中,实体间的关系会产生系列关系属性,例如学生和课程之间的学生选课关系会产生学生在该课程上的成绩属性。而本体Object Properties只是描述学生与课程的选择与被选择关系。针对这种遗漏信息,概念模型本体在原有本体基础上为每个Object Properties增加了关系属性集描述机制。实体个体之间存在的关系所产生的关系属性值即对应于关系表记录。

基于以上映射原则,构建概念模型本体的基本步骤如下:

(1)首先将概念模型中的实体按层次划分,建立好概念模型描述本体类的分层结构。

(2)统计概念模型中的所有属性,按对象属性、数据属性和关系属性对概念模型中的所有属性进行分类,针对分类结果分别创建概念模型描述本体类的对象属性、数据属性和关系属性。

(3)添加数据属性的值类型及归属的本体类;添加关系属性的定义域和值域类型,关系属性的定义域为概念模型描述本体类集;添加对象属性的定义域和值域,对象属性的定义域和值域都为本体类。

(4)创建概念模型本体个体,添加个体所属的本体类型。

(5)最后根据需要添加属性特性,实现相应的在关系数据库中的语义推理。

2.2 构建POJO 对象模型

POJO 对象模型是指POJO 对象 (plain old java object,POJO)及对象间关联的完整结构。概念模型本体到POJO对象模型的映射称为COOM,包括2个部分:COOM 元模型,COOM 映射模式。

COOM 元模式:COOM 不将本体推理功能的实现作为重点考虑,而是选择性的实现所需要的推理功能,COOM元模式保留了本体属性公理中的部分内容,去除不易实现的本体推理信息,例如包含关系,从而消去了在推理过程中频繁的数据一致性检测而付出的高昂代价,为开发和管理人员的提供更大的便利性和实用性;COOM 元模式中添加了关系属性类,实现关系数据库的关系表字段的存储。;COOM 元模式为值属性类和关系属性类添加了等价性描述,为实现属性名称的多样提供可能。COOM 元模型如图1 所示。

COOM 映射模型:概念模型本体类、属性及个体分别映射为POJO 类,即数据库实体作为概念类的实例,本体类与属性间的关系通过属性类的属性标示。映射模式将数据库实体和属性分别存放,使得实体及实体属性的增删查改也不会影响数据对象结构。COOM 映射模式为关系属性和值属性的等价特性映射为一个单独POJO 类。映射过程中可以通过参数配置,根据需要选择性保留COOM 元模式中本体推理所用到的信息。

结合COOM 元模式和COOM 的映射模式,实现了良好的概念模型本体到POJO 对象模型的映射。

2.3 POJO 对象模型与关系数据模型的映射

ORM 模式实现POJO 对象模型到关系模型的转换,即将COOM 得到的POJO 类映射到关系数据库中。得到的数据库表结构元模型如图2所示。ORM 元模式从实际应用出发,映射得到的表结构仅保留概念模型本体的基本信息,COOM 元模式与ORM 元模式存在基本对应。应用对数据库表的操作将通过操作POJO 对象来实现。

图1 COOM 元模式

图2 ORM 元模式数据库表结构

为了减少联表查询,文中为每个本体类对应的实例及属性信息建立视图。同时借助创建的filterEquivalentProcedure存储过程,对不同表达的同语义属性名称,实现等价操作。具体过程为:应用系统会对于更改过的属性名进行记录,在数据库访问前首先判断此次访问关键字是否是有更改标记,如果是则执行存储过程。存储过程内部逻辑将解析数据库访问语句,获取访问数据库的关键字,主要是属性名。然后对关键字进行等价查询,根据查询结果更新应用对数据库操作原语句,最后返回新的数据库语句的操作结果。通过数据库存储过程配合等价属性表来解决由于属性名发生更改,没能及时更新的外部应用的查询语句发生异常等问题。

2.4 操作过程

使用本体解析和配置功能,解析OWL 文件格式表示的概念模型本体,进行映射模式参数配置,执行映射,得到COOM 元模式对应的HBM 文件和对应的java类;使用Hibernate工具、HBM 文件和java类,生成ORM 存储模式数据库表结构;向ORM 存储模式导入数据。

3 实 验

3.1 实验背景

新概念高效能计算机体系结构及系统 (简称PRCA 系统),是基于认知的可主动重构系统。其用户前端提供临时创建各种应用类型功能,创建应用类型还包括创建该应用执行过程中需要提供的系列参数,创建之后用户可在PRCA 系统执行该类型的作业。

文中将分别采用传统关系数据库存储模式和基于本体理论的新型存储模式对PRCA 系统作业信息进行存储。传统的存储方式即每种应用为一个数据库实体,应用参数为实体属性,该类型作业的静态动态信息将存于该实体表中,表的建立手动完成。基于本体理论的存储模式将依据图2,将应用和应用属性分别作为类和属性表的实例进行存储。创建过程如2.4小节,手动完成概念模型本体创建后,采用映射机制自动生成基本表结构,最后手动创建视图、存储过程。

3.2 实验设计

实验1:为了验证基于本体理论的新型数据存储模式支持于PRCA 系统作业信息的演变及其存储优势,根据PRCA 系统作业信息变化特点,构造逐渐丰富的作业本体序列 (O1,O2,03,O4,O5),进行对比实验。设计本体O1中包含初始已知的99种作业类及其相应的部分作业属性;本体O2对本体O1进行演化,增加图像分析类应用;本体O3对本体O2进行演化,向图像分析应用增加匹配率等10个属性;本体O4对本体O3进行演化,更换图像分析类应用匹配率属性称谓为相似度,将更改前后的属性称谓添加到等价特性表中。依照实验序列中的本体演变过程,分别对传统存储模式下数据库和新型存储模式下的数据库进行更新。表1给出了关系数据库在2种存储模式下的结构变化对比情况。其中,0 代表存储模式结构没有变化;1代表结构发生变化;none代表无法实现。

表1 不同模式对数据模型的演变支持

实验2:经过实验1演化后,数据库中包含了100种应用类型,每种应用类型提交了100个作业任务。现对经过演化后的2种存储模式下的数据库进行相同的增删查改操作,对100种应用类型下的100*100个作业分别进行一次增删查改操作,得到平均时间作为该类操作的时间。其中设计的查询操作中包括了对图像类型作业匹配率的查询操作。实验结果见表2,数据单位为ms,新型模式下的数据库支持所有查询,传统模式下的数据库对图像类型作业匹配率查询失败。

表2 不同模式基本操作效率比较

3.3 结果分析

表2中可以看到,在建立视图的情况下,新型模式下查询操作效率与传统模式基本接近。其它3 种基本操作,特别是当一条传统的更新或者插入操作,在新型模式下对应几条更新或者插入操作时,效率有所降低。但结合表1和表2的实验结果可以得出,在牺牲可接受范围内的效率下,新型存储模式很好地支持了数据模型的演变扩展。同时实验2中所有数据库操作的有效性,表明了新型数据库模型能够支持属性更新前的相关数据库操作语句的访问。

4 结束语

基于本体理论的新型数据存储模式,比现有的由关系数据库的数据模型转换为关系模型的数据库存储模式更灵活,有利于数据模型的演变扩展,特别在面向查询的数据库实现上,模式优势突出。同时它支持数据库信息命名的动态更改,而不影响已有访问接口功能的稳定性,实现了应用程序访问接口的上下兼容。但是它牺牲了部分访问效率和存储空间。文中对于本体的语义推理应用还不是很多,这将是未来研究重点。

[1]HUANG Yu,FU Kun,WU Yirong.Research for large-scale target interpret ontology storage mapping mode[J].Computer Engineering,2009,35 (15):79-81 (in Chinese).[黄宇,付琨,吴一戎.大规模目标解译本体存储映射模式的研究 [J].计算机工程,2009,35 (15):79-81.]

[2]CHANG Wanjun.OWL ontology storage mode research [J].Computer Engineering and Science,2011,33 (10):135-138(in Chinese).[常万军.OWL 本体存储模式研究 [J].计算机工程与科学,2011,33 (10):135-138.]

[3]ZHU Jifeng,MA Zongmin,LV Yanhui.OWL ontology mapping to relational database schema [J].Computer Science,2008,35 (8):165-169 (in Chinese). [朱姬凤,马宗民,吕艳辉.OWL本体到关系数据库模式的映射 [J].计算机科学,2008,35 (8):165-169.]

[4]Hondjack Dehainsala,Guy Pierra,Ladjel Bellatreche.OntoDB:An ontology-based database for data intensive applications [C]//Database Systems for Advanced Applications,2007:497-508.

[5]Chedlia Chakroun,Ladjel Bellatreche,Yamine Ait-Ameur.The role of class dependencies in designing ontology-based databases [C]//On the Move to Meaningful Internet Systems:OTM Workshops,2011:444-453.

[6]WANG Jiangsong.Research OWL ontology query technology based on database and inference engine[D].Shenyang:Dongbei University,2008 (in Chinese).[王江松.基于数据库和推理机的OWL本体查询技术的研究[D].沈阳:东北大学,2008.]

[7]WANG Suihua,ZHANG Xiaodan,WANG Yue.OWL ontology relational database construction method [J].Computer Engineering and Science,2011,33 (12):143-147 (in Chinese).[王岁花,张晓丹,王越.OWL 本体关系数据库构建方法 [J].计算机工程与科学,2011,33 (12):143-147.]

[8]LUO Jun,CHEN Bo.OWL ontology relational database storage methods [J].Computer Engineering,2010,36 (21):71-75 (in Chinese). [罗军,陈波.关系数据库存储OWL 本体方法的研究 [J].计算机工程,2010,36 (21):71-75.]

[9]LI Yong,LI Yuelong.Ontology-based relational database store OWL ontology methods research [J].Computer Engineering and Science,2008,30 (7):105-107 (in Chinese). [李勇,李跃龙.基于本体关系数据库存储OWL本体的方法研究 [J].计算机工程与科学,2008,30 (7):105-107.]

[10]LV Yanhui.Ontology-based relational database fuzzy storage method [J].Computer Science,2011,38 (6):217-222 (in Chinese).[吕艳辉.基于关系数据库的模糊本体的存储方法[J].计算机科学,2011,38 (6):217-222.]

[11]YANG Weichen,LING Haifeng,WU Peng,et al.Ontology storage mode based relational database[J].Sichuan Binggong Learned Journal,2013,33 (4):111-115 (in Chinese).[杨炜辰,凌海风,武鹏,等.基于关系数据库的本体存储模式[J].四川兵工学报,2013,33 (4):111-115.]

猜你喜欢
关系数据库概念模型本体
关系数据库在高炉数据采集系统中的应用
网络服装虚拟体验的概念模型及其量表开发
基于“认知提升”的体系作战指挥概念模型及装备发展需求
基于本体的机械产品工艺知识表示
《我应该感到自豪才对》的本体性教学内容及启示
基于索引结构的关系数据库关键词检索
基于PSR概念模型的稀土资源安全评价
专题
Care about the virtue moral education
一种基于数据图划分的关系数据库关键词检索方法