




已阅读5页,还剩47页未读, 继续免费阅读
(通信与信息系统专业论文)面向对象数据库在本体存储中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 摘要 随着语义网络中本体资源的增加,本体的规模越来越大,结构越来越复杂。 此时,本体查询和管理的效率成为人们普遍关注的问题。而本体存储方式直接 影响着本体的查询效率,因此,如何合理地存储大规模的本体,从而提高本体 的查询和搜索效率是一件很有意义且具有挑战性的任务。 近些年来,国内关于本体存储方面的研究都在不断发展,然而许多研究都 只局限于基于关系数据库上的,只是在现有的存储方式上加以改良,在本体查 询效率上并没有显著的提高。 为进一步提高本体的查询效率,本文在基于面向对象数据库的本体存储方 式上进行了探索,并使用优秀的开源对象数据库d b 4 0 和本体开发工具包j e n a 设计并实现了该存储方式。面向对象数据库中数据直接以对象方式存储,可避 免将本体拆分为三元组,很好地解决了阻抗失配的问题。更重要的是在面向对 象数据库中查询本体数据不需要再用像s q l 这样的中间语言和像j d b c 这样的 中间接口,因此用对象数据库来存储本体不仅更直观,而且查询效率与关系数 据库相比也大大提高了。全文的主要研究成果如下: ( 1 ) 对基于面向对象数据库存储本体的可行性进行了理论分析。首先对本 体模型和对象数据库模型相似性进行了分析,讨论了如何用对象数据库对数据 的操纵和管理能力来存取本体,从而论证了基于对象数据库存储本体,可大大 提高本体查询效率。 ( 2 ) 选取对象数据库曲4 0 和j e l l a 作为工具,设计并实现了一种专门的存 储方式。本文选用j e n a 工具包来创建和填充本体模型,并通过对其内部接口的 修改将本体数据持久存储到对象数据库中。系统结构分三层设计,把本体持久 化到对象数据库的过程进行了封装,对外提供直接操纵本体对象的接口,使在 对象数据库中对本体的操作与在内存中对本体数据的操作几乎一样。 ( 3 ) 对系统的性能及本体存储和查询效率进行了详细的测试分析。本文对 此存储方案进行性能分析,对不同情况下本体的存储和查询效率进行了详细测 试,并与传统的关系数据库存储方式在效率上进行对比分析。 关键词:本体存储,对象数据库,d b 4 0 武汉理工大学硕七学位论文 a b s t r a c t w i t ht h ei n c r e a s i n go fo n t o l o g yr e s o u r c e si ns e m a n t i cw e b ,t h eb o d ys i z eo f o n t o l o g yb e c o m e si n c r e a s i n g l yl a r g ea n dt h es t r u c t u r eb e c o m e sm o r ec o m p l e x a t t h i sp o i n t ,t h eq u e r ya n dm a n a g e m e n te f f i c i e n c yo fo n t o l o g yb e c o m e saw i d e s p r e a d c o n c e r n a n dt h es t o r a g eo fo n t o l o g yd i r e c t l ya f f e c t st h ee f f i c i e n c yo fo n t o l o g yq u e r y t h e r e f o r e ,h o wt or e a s o n a b l ys t o r el a r g eb u l ko n t o l o g ya n di m p r o v et h ee f f i c i e n c yo f o n t o l o g yq u e r ya n ds e a r c hi sa ni n t e r e s t i n ga n dc h a l l e n g i n gt a s k r e c e n ty e a r s , d o m e s t i cr e s e a r c ho nt h eo n t o l o g ys t o r a g eh a sb e e nc o n t i n u a l l y d e v e l o p i n g h o w e v e r m a n ys t u d i e sa r el i m i t e db a s e do nr e l a t i o n a ld a t a b a s e ,o n l y i m p r o v et h ew a yo fe x i s t i n gs t o r a g e t h ee f f i c i e n c yo fo n t o l o g yq u e r yi s n t s i g n i f i c a n t l yi m p r o v e d t of u r t h e ri m p r o v et h ee f f i c i e n c yo fo n t o l o g yq u e r y , t h i sd i s s e r t a t i o ne x p l o r e s t h eo n t o l o g ys t o r a g eb a s e do no b j e c t - o r i e n t e d d a t a b a s e ,a n dw ed e s i g na n d i m p l e m e n tt h es t o r a g em o d eu s i n ge x c e l l e n to p e ns o u r c eo b j e c td a t a b a s ed b 4 0a n d o n t o l o g yd e v e l o p m e n tk i tj e n a i no b j e c t - o r i e n t e dd a t a b a s e ,t h ed a t as t o r e dd i r e c t l y i nt h ef o r mo fo b j e c t , s og a l la v o i ds p l i t i n go n t o l o g yi n t ot r i p l e sa n ds o l v et h e i m p e d a n c e m i s m a t c h p r o b l e m m o r ei m p o r t a n t l y , t h eo n t o l o g yq u e r y i n o b j e c t - o r i e n t e dd a t a b a s ed on o tn e e du s et h ei n t e r m e d i a t el a n g u a g es u c ha ss q l a n d i n t e r m e d i a t ei n t e r f a c e ss u c ha sj d b c s ou s i n go b j e c td a t a b a s et os t o r eo n t o l o g yi s n o to n l ym o r ei n t u i t i v e ,b u ta l s om o r ee f f i c i e n c yo nq u e r yc o m p a r e dw i t ht h e r e l a t i o n a ld a t a b a s e t h em a i nr e s e a r c hr e s u l t so ft h i sd i s s e r t a t i o na l ea sf o l l o w s : ( 1 ) d i s c u s st h ef e a s i b i l i t yo fo n t o l o g ys t o r a g eb a s e do no b j e c t o r i e n t e dd a t a b a s e i nt h e o r y f i r s tw ea n a l y z et h es i m i l a r i t yb e t w e e no b j e c td a t a b a s em o d e la n d o n t o l o g ym o d e l ,a n dd i s c u s s eh o wt ou s et h ed a t am a n i p u l a t i o na n dm a n a g e m e n t c a p a b i l i t i e so fo b j e c td a t a b a s et oa c c e s st h eo n t o l o g y t h i sw o r kd e m o n s t r a t e st h e o b j e c t b a s e dd a t a b a s e 啪g r e a t l yi m p r o v et h ee f f i d e n c yo fo n t o l o g yq u e r y ( 2 ) d e s i g na n di m p l e m e n tas p e c i a l i z e ds t o r a g eu s i n go b j e c td a t a b a s ed b 4 0a n d j e n a w eu s ej e n at o o l k i tt oc r e a t ea n dp o p u l a t eo n t o l o g ym o d e l ,a n dm o d i f yi t s 武汉理工大学硕十学位论文 i n t e r n a li n t e r f a c e st op e r s i s t e n to n t o l o g yd a t at ot h eo b j e c td a t a b a s e t h es y s t e m a r c h i t e c t u r ei sd e s i g n e dt h r e e l a y e r ,a n dt h ep e r s i s t e n c eo fo n t o l o g yd a t at oo b j e c t d a t a b a s ei se n c a p s u l a t e d w eo n l yp r o v i d ei n t e r f a c e so fa c c e s so n t o l o g yo b j e c tt o a p p l i c a t i o n s s ot h eo n t o l o g yd a t ao p e r a t i o ni no b j e c td a t a b a s ea n di nm e m o r yi s n e a r l yt h es a m e ( 3 ) t e s ta n da n a l y z et h es y s t e mp e r f o r m a n c ea n dt h ee f f i d e n c yo fo n t o l o g y s t o r a g ea n dq u e r y t h i sd i s s e r t a t i o na n a l y z e st h ep e r f o r m a n c eo f t h i ss t o r a g es c h e m e , t e s t st h ee f f i d e n c yo fo n t o l o g ys t o r a g ea n dq u e r yu n d e rd i f f e r e n tc i r c u m s t a n c e sa n d c o m p a r e st h ee f f i c i e n c yw i t hr e l a t i o n a ld a t a b a s e k e yw o r d s :o n t o l o g ys t o r a g e ,o b j e c t - o r i e n t e dd a t a b a s e ,d b 4 0 1 1 1 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 期:兰呈! ! :量:衫 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务。 ( 保密的论文在解密后应遵守此规定) 僦引鹤) 她州签蓉膨眦d l o 矗2 武汉理 大学硕士学位论文 第1 章绪论 1 1 课题研究背景及其意义 语义网的发展对信息处理的发展做出了很大贡献,任何服务器都可以在网 络上以本体的形式发布语义信息,本体信息不只是在网络上用来显示,还可以 被计算机系统读懂并做自动化处理,并且可以在不同应用系统之间重复利用【。 因此越来越多的应用系统使用了语义w e b 技术。语义网技术的快速发展为自动 化或半自动化系统之间的交互提供了新的解决方案。 本体在语义网中的地位非常重要,是解决语义层次上w e b 信息共享和交换 的基础。语义网中的本体与哲学中所说的本体是不同的,语义网中的本体,简 单来说,是一个概念化的模型,是特定领域概念及其之间关系的描述。语义网 是本体的一个重要应用领域,本体的构建是实现语义网的关键环节。但随着语 义网络中本体资源的增加和本体结构的复杂化,本体查询和管理的效率成为人 们普遍关注的问题。在大量数据时,本体的存储方式直接影响着本体的查询存 储效率。因此,研究如何合理地存储大规模的本体,从而提高本体数据的访问 效率是一件很有意义且具有挑战性的任务,也是目前研究的热点。 目前已经出现了很多本体存储和查询的工具或系统,采用的方式主要有内 存,文件,关系数据库等。内存存储和文件方式只适合处理少量本体数据,且 也受到物理内存的限制。现在主流方式是基于关系数据库存储,但由于本体模 型和关系数据库模型差异巨大,本体需先拆分为三元组形式,存储存在“阻抗 不匹配 的问题,因此在大量数据中查询时效率仍不尽人意。 本文提出了基于面向对象数据库来存储本体,就是要解决关系数据库存储 本体数据存在的问题。面向对象数据库吸收了面向对象程序设计语言的思想, 如支持类、方法、继承等概念,面向对象数据库中数据直接以对象方式存储【2 】, 可避免将本体拆分为三元组。本文通过对比本体模型和对象数据库模型的相似 点,从理论上分析了面向对象数据库在本体存储上的优势,并基于j e n a 工具包 设计并实现了一种专门的存储方式。该方式利用对象数据库本身对数据的操纵 能力来存储本体,不需要再将本体拆分为三元组,提高了本体的查询效率,具 武汉理工大学硕士学位论文 有重要的实际应用价值。 1 2 相关领域国内外研究现状 近些年来,国内关于本体存储方面的研究都在不断发展【3 1 ,目前按照存储 介质,对本体的存储方法主要有三种:内存存储方式、纯文本存储方式,关系 数据库方式【4 l 。 1 2 1 内存存储方式 基于内存的存储方式的特点是将本体数据全部导入内存,在内存结构上对 本体进行数据填充和数据查询【5 1 。此方法具有很高效率,但受计算机物理内存 的限制,只能处理少量的本体数据,一旦本体数据量超出了内存大小,就会导 致内存溢出。且此方式不能够持久化存储本体,系统关闭则内存中的数据就会 丢失。 1 2 2 纯文本存储方式 纯文本存储方式是将本体库以文件的形式存储在本地文件系统中,可以采 用多种文件形式,如x m l 、r d f ( s ) 、o w l 等 6 1 。系统启动时候将本体数据从 文件中读入内存,然后在内存中操作本体库,之后再将本体数据写入文件进行 保存 7 1 。这种方式系统可能需要频繁的读写文件,这种方法不仅效率低,而且 很难适应数据量较大的情况。基于文件系统的存储方式一般只适用于持久化规 模比较小的本体数据【引。 1 2 3 关系数据库方式 关系数据库为主是将本体按照一定的策略组织在关系数据库中,利用现有 的数据库系统对数据的操纵和管理能力来存取本体【引。现有的基于关系数据库 的本体存储模式大致可分为3 种存储模式:水平模式,垂直模式,和混合模式 1 0 l 。几种存储方式各有优缺点。但关系数据库模型和本体数据模型差异较大, 关系型数据库中数据的基本数据结构是二维形式的表,而本体模型的表现形式 是带有向箭头的图,所以存储本体到数据库之前要先分解本体,将本体拆分为 一系列的三元组来描述【1 1 j 。查询本体时,首先使用s q l 数据库查询语言和j d b c 2 武汉理。1 :大学硕士学位论文 之类的中间驱动程序遍历找到与之相关的三元组,之后再将三元组组装成本体 对象。就像在车库中存车时,你把它的门、椅子、轮子等等分别卸下来存放, 使用时再重新组装起来一样,这是非常耗时的,而是也是没有任何意义的。这 个问题通常被称为“阻抗不匹配。不论在关系数据库中以何种方式存放本体, 都不可能解决不匹配障碍问题【1 2 1 。 1 3 本文的研究工作及组织结构 本文在分析了面向对象数据库和本体的特点,论证了用面向对象数据库存 储本体的可行性和高效性,并基于j e n a 和开源对象数据库d b 4 0 设计并实现一 种专门的存储方式,可有效地提高本体的查询效率。本文在多种情况下对系统 的本体访问效率进行了测试,并与传统的关系数据库存储方式进行了对比,实 验验证了面向对象数据库在本体存储方面的优越性。 全文共分5 章,内容安排如下: 第一章介绍本文的研究背景及其意义,介绍了目前国内外本体存储方式的 研究现状,并总结了课题研究中所做的主要工作,这章是对整个课题研究的整 体介绍。 第二章为本体存储方式研究。首先对面向对象数据库的发展做了简要介绍, 详细分析了本体模型的特点。并通过对比了本体模型和对象数据库模型的相似 点。对基于面向对象数据库存储本体的可行性和高效性进行了分析研究。 第三章为本体存储系统的详细设计。本文选用优秀的开源面向对象数据库 d b 4 0 来存储本体,使用j e l l a 工具包对本体数据进行填充和操作,并将本体持久 存储到对象数据库的过程进行了封装,实现了基于面向对象数据库d b 4 0 的本体 存储方案。 第四章为系统性能的详细测试。在各种不同的情况下,对本体数据存储效 率和查询效率进行了测试,并将结果与传统的关系数据库存储方式进行了对比, 实验证明了面向对象数据库存储本体的优越性。 第五章为对本文的工作进行总结,提出可能的改进和对未来工作的展望。 3 武汉理工人学硕士学位论文 第2 章基于o o d b 的本体存储的研究与设计 2 1o o d b 存储技术研究 2 1 1 面向对象数据库特点 面向对象程序语言操纵的是对象,所以o o d b 的一个优势是面向对象语言 程序员在做程序时,可直接以对象的形式存储数据【1 3 】,可在o o d b 内部对对象 进行复制或修改而产生新的对象1 1 训。对象数据模型有以下特点: ( 1 ) 对象数据模型将客观世界按语义组织成由各个相互关联的对象单元组 成的复杂系统,是对客观事物的抽象描述【1 5 j 。对象可以定义为对象的属性和对 象的行为描述【1 6 1 。形式上,对象包括对象标识、属性、方法、关系,对象的属 性是对对象状态的描述,其成分可以是复杂数据,如集合、元组、对象等l r 7 1 。 在对象数据模型中,对象标识用来标识一个对象,一个特定的对象的属性值、 方法和关系可以改变,但是标识符不能变化l l 剐。 ( 2 ) 在对象数据库系统中,语义上相似的对象被组织成类,类是对象的集 合,对象只是类的一个实例1 1 9 1 。类为对象提供一个统一的抽象描述,并可以通 过类创建类的实例,实现对象的访问和操作刚。 ( 3 ) 在对象数据模型中,对象之间的关系分为直接关系和间接关系。直接 关系分为两种:聚合关系和组合关系【2 1 1 。聚合关系是指k i n d o f 的关系,表示某 个对象是另一个对象概念意义上的一种;组合关系是指p a r t o f 的关系,表示对 象的部分与整体关系。对象间的间接关系是指对象间的具有特定意义的关系, 在具体环境中有具体的意义,需要用一个类来描述这种间接关系【勿。 ( 4 ) 对象数据模型具有“封装 、“继承、“多态等基本概念,类是语义 上相似对象的封装,通过类描述,可以看到对象所有的属性和行为【2 3 1 。对象组 织成继承层次结构,允许低层次类型对象访问高层次类型对象的属性和方法, 这样可以减少类型定义上的混乱,使数据语义描述更加合理1 2 4 】。 ( 5 ) 方法的实现可以事先用标准宿主语言编写并存储在服务器端。方法实 现类似于关系数据库中的存储过程,但存储过程并不和特定对象相关联;而方 法实现则是类的一部分i 矧。 ( 6 ) 实际应用中,面向对象数据库可以实现一些带有复杂数据描述的应用 4 武汉理工大学硕士学位论文 系统,如时态和空间事务、多媒体数据管理等【2 6 l 。 2 1 2 与关系数据库的异同 基于上述对象数据库的特点分析,我们将其与关系数据库做对比,说明为 何对象数据库在数据存储上具有优势。 关系型数据库把数据存储在简单的两维表中,这是一种表达大量数据的有 效方法,而且程序员也易于理解,关系型数据库使用s q l 建立了一种标准的数 据访问语言,然而,关系理论的基础之一是数据和使用数据的程序能够而且应 该是相互独立的1 2 7 1 。这与面向对象的思想是不一致的。 面向对象数据库使用对象而不是二维表来存储数据。对象的方法不能脱离 对象本身。我们以汽车对象为例来进行说明,当你使用汽车时,你使用的是一 辆完整的汽车,作为一个东西,一个对象来使用。与汽车相关的动作有很多, 如驾驶,换档,按喇叭,开车灯等等。如果我们将汽车抽象为一个对象,那么 这些相关动作就是对象的方法,这些动作不能脱离汽车这个对象而存在,即对 象的方法不能脱离对象本身。当你把你的车停在车库,你把它作为一个东西来 存储。如果使用“关系型车库 ,就需要把汽车拆散开来,分别在车库中的某些 地方存放方向盘,车门,车窗,车灯,车轮。使用的时候在将这些“组装起来 , 这是相当耗时的。若使用“对象型车库汽车就不用拆分。 从图2 1 我们可以更明确的看出关系数据库与对象数据库在数据存储时的 不同。通过对图中所示的不同存储模式的对比,我们来进一步说明为何对象数 据库具有优势。 图2 - 1r d b 与o o d b 数据存储比较 5 武汉理1 :大学硕士学位论文 首先,目前我们应用系统开发使用的大都是面向对象程序语言,而关系数 据库本身并不直接支持面向对象语言中的数据类型。但是通过使用对象数据库, 我们可以保持应用系统程序的一致性,因为o o d b 与面向对象语言使用同一种 表达模型。 其次,使用面向对象语言开发应用系统时,若采用传统的关系数据库存储 此信息,则存储复杂数据需要设计数据库模型,并建立相应的二维表,这是一 个非常耗时的工作。若采用对象数据库存储,由以上介绍我们已经知道,对象 数据库中数据表现形式与面向对象程序语言中的对象一致,不需要在对存储对 象进行任何拆分或转换,也不需要在专门设计数据库,直接将程序中的对象存 入对象数据库即可。 再次,由于对象与二维表关系模型的差异,我们再查询的时候还需要借助 s q l 语言和j d b c 之类的中间驱动接口,查询过程繁琐且效率低下。使用对象 数据库就不会存在这个问题,我们在查询的时候也不需要借助中间接口或中间 语言,直接使用我们所用的系统开发语言就可以将数据从对象数据库再取出来。 2 2 本体模型特点分析 s t u d e r 给出本体定义是“本体是共享概念模型的明确的形式化规范说明 【捌。本体具有概念模型、明确、形式化和共享四层含义【2 9 1 。如图2 - 3 就是一个 简单的本体模型, 图2 3 本体样例 6 武汉理工大学硕士学位论文 我们根据图来详细分析下本体的定义【3 0 1 ,并研究本体与对象数据库之间的 相似点: ( 1 ) 我们所讲的本体是计算机本体,而不是哲学上的本体。 ( 2 ) 本体所呈现的数据结构是一个图,图中的每一个节点代表一个概念。 概念是我们所认知的一个基本单元。 ( 3 ) 概念可由一个词或短语来表示,通常用名词或名词性短语表示。比如: 人、车、网络、武汉理工大学。 ( 4 ) 本体的节点通过不同的关系连接起来,其中最重要的一个关系是i s a 关系。 ( 5 ) 节点和i s a 关系共同组成了一个有根的有向不循环图( r o o t e dd a g ) 。 有根的意思是存在一个称为根节点的“最高节点 。其他所有节点都通过一个或 几个i s a 关系连接到跟节点。 ( 6 ) 这里所指的i s a 关系是“向上的 ,即如果i s a 关系从概念x 只想 概念y ,那么现实世界中所有可以被叫做x 的东西也都可以被称为y 。换句话 说,每个x 都是y 。例如汽车是交通工具,狗是一种动物。 这与面向对象数据库是非常相似的,在面向对象数据库中有类和子类的关 系,且对象图与本体图也非常相似。 ( 7 ) 非循环的意思是如果从一个节点出发,沿着i s a 关系走下去,不管 穿过多少i s - a 关系,永远不会回到出发点。 ( 8 ) 大部分节点还有连接着其他信息,如属性、关系、公理等。 ( 9 ) 属性是与概念相关的包含额外信息的简单字符串或者数字变量。例如: 动物可以有一个“腿 的属性,它的值可以为0 、2 、4 。汽车可以有“颜色 的属性,值可为红色、黑色。 这与面向对象数据库中的数据成员非常相似。 ( 1 0 ) 关系是从一个概念到另一个概念的有向链接。它表示两个概念之间 如何相互关联。关系的可能会产生循环。关系的名字通常标注在链接的旁边。 例如:概念“人 与概念“车一之间存在关系,关系的名字叫做“拥有 。 这与面向对象数据库中“动词性 属性非常类似。 ( 1 1 ) 通常l s - a 链接也可叫做i s a 关系。 ( 1 2 ) 其他关系通常称为“语义关系 ,以与i s a 关系区别。 ( 1 3 ) 连接两个概念的关系成为“二元关系 ,大部分本体不允许存在高次 7 武汉理工大学硕士学位论文 元关系,且二元关系是单向的。 ( 1 4 ) i s a 关系可使图中低层节点继承高层节点的属性和语义关系。例如: 如果动物有“腿”的属性,那么狗自然也有“腿 的属性,不需要再特别声明 狗具有“腿 属性。 这也与面向对象数据库中的继承关系十分类似。 ( 1 5 ) 如果高层节点的属性有值,那么底层节点可以继承这个值,也可以 重新赋给此属性新值。例如:在本体中定义了动物“腿属性的值为4 ,但是 动物的孩子节点鸟重新给“腿属性赋值为2 ,那么鸟的腿属性值就为2 ( 1 6 ) 本体具有“拦截机制”阻止继承。 ( 1 7 ) 在本体图中,高层节点代表一般概念,低层节点表示特定概念。例 如:“动物”比“狗 的概念更一般化,“狗 比“吉娃娃 更一般化 ( 1 8 ) 公理表示概念的普遍真理并与概念紧密相关。例如:如果甲是乙的 丈夫,那么乙一定是甲的妻子。 ( 1 9 ) 信息的本体表现形式与人类知识的表现形式非常相似。 ( 2 0 ) 信息的本体表现形式可用于某些情况下的推理,这与人类自己的逻 辑推理很类似,包括继承推理、传递推理和分类。但对象数据库不具备推理功 能,因此使用对象数据库存储本体仍需要专门的推理机。 ( 2 1 ) 分类是指如果我们知道一个概念的属性,我们可以推出它还属于这 个本体中的哪些其他概念。例如:如果我们知道一个动物有四条腿,黑色条纹, 吃肉,跑的很快,生活在非洲,那它肯定是一只老虎。 ( 2 2 ) 一个概念可以从几个其他概念中继承信息,这叫做多继承。多继承 可能会引起一些问题,如明显的冲突等。例如,美国的尼克松总统既是共和党 又是基督教徒,基督教徒被认为是“和平的一,而共和党被认为是好战的。如果 尼克松同时继承这两个概念,那么他是爱好和平还是喜欢战争? ( 2 3 ) 传递性推理相当于i s a 关系链。例如:如果我们知道“吉娃娃 是 一种狗,并且知道狗是一种动物,那么我们可以推出“吉娃娃是一种动物。 ( 2 4 ) 表示本体的有根有向不循环图也被称为分类系统,也称无序层次图。 ( 2 5 ) 有时候本体可能允许无根图,即图有多个根。这个时候我们般人 为引入一个假定的根,从而确定其为一个有根图。一般我们称这个引入的根为 “t h i n g 。在数据库中,我们成为“实体”。 ( 2 6 ) 本体不能用树图来表示,因为树并不支持继承。 8 武汉理1 :大学硕士学位论文 ( 2 7 ) 本体保存的是“语义 知识,并不是一些没有意义的特殊符号,而 是有具体含义的词。哪些依赖于数字来表现的知识如神经网络,并不属于本体。 2 3 存储方案分析 从以上分别对本体模型和对象数据库模型的研究,我们发现二者有很多的 相似点和共同的,用对象数据库存储本体不仅更直观,而且从理论上分析效率 比关系数据库要高很多,下面我们分别对方案的可行性和高效性进行详细的分 析。 2 3 1o o d b 存储本体的可行性 使用对象数据库在存储本体时,也会出现新的问题。由于本体模型中概念 之间关系的复杂性,对象数据库在存储概念之间复杂关系时有些吃力。因为本 体中所存在的关系十分灵活,而对象数据库本身并不能直接存储这些关系。此 外,本体可以用概念之间关系和公理进行推理,推理需要对象的分类和传递, 而对象数据库仅支持继承,且本体不支持对象的实例这个说法,本体中的概念 就是模型类。在对象数据库中,存储的都是对象的实例。 解决这些问题是证明使用对象数据库来存储本体具有可行性的关键,基于 以上问题,可以设计增加辅助处理模块,增加表示概念之间关系的对象如t y p e 等,对本体数据稍做处理,就可以持久化到对象数据库中。我们以图2 3 所示 本体为例,在对象数据库中存储方式设计如图2 4 所示: 图2 4 本体存储方式 9 武汉理f :大学硕士学位论文 通过增加本体管理的模块和辅助存储模块,概念之间的复杂关系通过一个 属性对象来表示,本体数据可完整的、直观的存入对象数据库。目前也有很多 开源工具包可以直接借用,如j e n a 等。因此,用对象数据库存储本体数据是完 全可行的。 2 3 2o o d b 存储本体的高效性 面向对象数据库为应用系统存储对象提供了非常简单和有效的方式,它也 为对象的查询提供了多种方式,如样本查询,查询表达式,遍历查询等查询方 法【3 1 】。对应用系统来说就行直接获取程序中的对象一样,这种存储方式解决了 使用关系数据库时所存在的“阻抗不匹配 问题,不需要再做繁琐的对象关系 映射的管理工作。 图3 5 可直观的看出关系数据库与对象数据库存储数据的区别: 关系数据库 0 oo 对象数据库 图3 5 关系数据库与对象数据库存储对比 在关系数据库中,二维表要同时表示对象实体和关系,所以需要规定主键 和外键这些概念。本体数据复杂的图形结构与关系数据库扁平的二维表结构差 异巨大,存储数据时,需要被拆分为元组之间的关系,在大规模本体查询时, 不仅效率低,而且存储不直观。 目前已有很多本体处理工具包可以将本体用面向对象程序语言中的对象来 表示,如j e n a 工具包等o 所以如果结合这些工具,同时使用对象数据库管理本 体,可以从根本上解决模式不匹配的问题,不需要对本体数据“拆分再组装 , 可大幅度提高本体的查询效率。因此从理论上讲,用对象数据库管理本体数据 比传统的关系数据库方式不仅更直观,且无论在存储性能和查询效率上,都会 1 0 武汉理t 大学硕士学位论文 有很大的提高。 2 4 本章小结 本章通过本体特点的分析,提出使用对象数据库存储本体的方式,并详细 讨论使用对象数据库存储本体的可行性和高效性。传统的关系数据库存储存在 着缺点和不足,直接影响到本体的查询效率。面向对象数据库模型与本体模型 有众多相似点,通过在二者之间增加一个过渡的语义管理层,对本体高效查询 提供了强有力的支持。 武汉理1 :大学硕士学位论文 第3 章基于o o d b 的本体存储系统的实现 3 1 软件工具及数据库的选择 程序设计语言:j a v a 所用语言版本:j d k l 6 00 5 j a v a 开发平台:m y e c l i p s e 本体工具包:j e n a2 0 对象数据库:d b 4 0 7 4 操作系统:m i c r o s o f tw i n d o w sv i s t a 3 1 1j e n a 存储本体的问题及其特点 本设计选取j e n a2 0 工具包设计实现连接本体与对象数据库的语义数据处 理层。j e n a 是一组由j a v a 编写的a p i ,是惠普实验室研发的j a v a 开发工具包, 可以描述填充本体模型,用于语义网系统的开发p 2 1 。j e n a 已经实现本体到各种 关系数据库的存储,如m y s q l ,o r a c l e 等,且目前许多语义系统都是用了j e n a 工具包。因此,本系统选用j e n a 实现到对象数据库的存储,具有通用性。系统 对外提供标准的j e n a 接口,目前本体应用系统不用修改或只需做少许修改就可 以移植到对象数据库上。 此外,选用j e n a 来实现本体到对象数据库的存储,还因为j e n a 具有以下特 点: ( 1 ) j e n a 可以用多种形式读取r d f 等本体模型,j e n aa p l 允许处理基r d f 的本体数据,即它支持o w l ,d a m l + o i l 和r d f s ,可直接读取文件存储的 本体到内存,对本体模型执行读写、查询等多种操作1 3 3 l 。也可在内存中直接创 建本体模型,再对其进行填充、修改。j e n a 提供方法可将本体对象与三元组之 间随意转换。 ( 2 ) 可使用多种数据库存储本体数据。j e n a 可将本体数据持久化到关系数 据库中。j e n a 可在关系数据库中为本体自动建立相应的表格( 一般是5 个表) 进行存储。j e n a 虽然对这部分功能进行了封装,但实际存储方式仍然是将本体 武汉理工大学硕t 学位论文 数据转化为三元组,这里是我们系统重点研究并修改的地方。 ( 3 ) j c n a 提供成熟的查询模型。s p a r q l 是一种本体查询语言,是由w 3 c r d f 数据访问工作组设计的访问r d f 数据模型的协议 3 4 1 。j e n a2 提供的a r q 查询引擎实现了s 氓q l 查询语言,从而支持对模型的查询。但查询引擎与关 系数据库相关联,这使得在本体数据量比较大时,本体的查询效率将会受到严 重影响【3 5 1 。本系统设计工作之就是修改j e n a 代码,将其与关系数据库的查询 关联转移到对象数据库中来。 ( 4 ) 支持基于规则的推理。j e n a2 支持基于规则的简单推理,并且允许引 入其他推理引擎或推理机,创建模型时将推理机与模型关联以实现推理【蚓。本 系统设计对外提供标准的本体推理接口,因此常用推理机不需要做任何修改就 可以嵌入本系统。 3 1 2d b 4 0 对象数据库概述 d b 4 0 是一个优秀的纯面向对象数据库引擎,j a v a 与n e t 开发者只需一行 代码就可以直接存储和获取应用对象,不需要再独立预定义和维持一个数据模 型阳。此外,d b 4 0 还有一个优势就是无需数据库管理员的管理,占用资源很小。 自从d b 4 0 对象数据库发布以来,迅速吸引了大量用户将原基于关系数据库的应 用系统转移到d b 4 0 上来i 硎。 d b 4 0 数据库引擎具有使引人注目的新功能,实现了关系数据库所未有的性 能和灵活性f 3 9 1 。主要特性如下: ( 1 ) 开源模式。与其他面向对象数据库不同,d b 4 0 是开源软件,依靠开 源社区的力量驱动开发d b 4 0 产品i 蛔。 ( 2 ) 原生数据库。d b 4 0 是1 0 0 原生的面向对象数据库,可直接使用 j a v a 、n e t 编程语言来操作1 4 1 1 。程序员不需要进行对象关系映射来存储对象数 据,可极大的节省了程序员在数据存储的开发时间。 ( 3 ) 无需管理。使d b 4 0 无需数据库管理员,实现了零管理,减少开发成 本【4 2 1 。 ( 4 ) 支持多种开发平台。d b d o 支持各种j a v a 版本开发,而且还支持n e t 开发平刽矧。由于j e n a 是j a v a 语言开发的本体工具包,因此本系统选用j a v a 平台,可方便的实现j e n a 到对象数据库的连接。 ( 5 ) 高性能。d b 4 0 比传统的h i b e m a t e m y s q l 关系数据库方案在某些测 试线路上速度高出4 4 倍之多,且仅仅需要在应用系统中添加一个j a r 文件,安 装非常简单l 删。 1 3 武汉理工大学硕七学位论文 表3 1 为官方公布的d b 4 0 基准测试数据。 表3 - 1d b 4 0 官方基准测试数据 存储方案读区写入查询删除 d b 4 0 4 5 2 0 01 01 01 o1 o h i b e r n a t e m y s q l 2 0 8 3 2 2 6 71 7 3 h i b e m a t e h s q l d b 1 0 45 45 3 6 03 9 j d b c m y s q l 1 0 8 。1 4 61 76 5 j d b c h s q l d b 0 41 76 7 7 60 7 j d b c d e r b y 3 6 9 6 01 2 91 2 9 9 77 1 j d o n o a m y s q l 4 41 4 83 02 4 3 1 3d b 4 0 与j e n a 的衔接 j e n a 虽然可以将本体用面向对象程序语言中的对象表示出来,但是j e n a 只 提供了基于关系数据库的存储方式。我们在j e n a 与对象数据库之间建立一个数 据处理层,通过中间层将本体再持久化到d b 4 0 对象数据库中。存储方式如图 3 - 1 所示。 i j e n a 本体数据 j e l 数据处理层 j 亡 i对象攀据库 图3 - 1 基于d b 4 0 本体存储设计 j e n a 表示的本体数据不直接存入对象数据库,而是先由数据处理层对本体 1 4 武汉理 大学硕士学位论文 数据进行处理。在这一层将本体数据表示成适合在o o d b 中存储的“图 对象, 表示本体的对象都直接或间接实现j e n a 提供的标准接口,这样基于j e n a 设计的 应用系统不需要做大的修改。数据处理层表示本体数据的对象之间关系仿照 j e n a 在关系数据库中存储设计,但对象本身继承自j e n a 定义的内存中保存本体 的对象类,这样设计既可以使本体对象方便存储到对象数据库,而且在对外接 口调用上又与关系数据库类似,从而更方便系统的移植。 3 2 系统的设计与实现 3 2 1 系统总体框架设计 本文提出基于对象数据库d b 4 0 存储本体的系统模型,如图3 2 所示。该模 型分为三个层次,从下往上依次数据访问层、本体数据处理层和对外接口层。 底层的数据访问层之负责对d b 4 0 对象数据库的管理,包括基本数据的写 入、读出和查询等,并对这些基本操作进行了封装,对上层只提供操作方法调 用,这里的基本存储对象实现了j e 肋表示本体数据的g r a p h 接口。中间层对本 体数据进行存取预处理,这一层是仿照j e n a 在关系数据库中存储本体的模式设 计,主要包括本体数据封装成m o d e l 模块、创建本体m o d e l 的m o d e l m a k e r 模 块、创建本体基本表示单元g r a p h 的g r a p h m a l 【e r 模块和事务处理模块等。顶层 的设计也仿照j e 舳的工厂设计模式,增加专门创建基于对象数据库的 m o d e l m a k e r 等操作。此层本体存储的最外层,中间层的数据表示类都由这层的 工厂类负责创建,对外提供标准接口方法调用。 这种采用分层设计的最大优点是上一层只对下一层次的调用管理,降低本 体查询与d b 4 0 数据访问的耦合性,程序设计人员不必关心本体数据如何存储到 对象数据库中,只需调用最外层工厂类提供的创建方法创建本体m o d e l ,存储 时也直接调用相应的事务提交方法即可。 武汉理 大学硕士学位论文 f e 二薹重重一 :据l _ j : 二二巫堕二二 l lli ! l 一一一一:= = - = = = = _ = = = = - = = _ = = = _ = = _ = = = 工:= = - = j = = = 工= _ = = - = = = = = j 图3 - 2 基于d b 4 0 的本体存储模型 数据读取层读取的基本数据是g r a p h 图,是j e n a 用来表示本体概念的基本 元素,系统专门设计了基于d b 4 0 的本体d b 4 0 g r a p h ,实现了j e n a 的g r a p h 接 口,在数据处理层基于g r a p h 封装成本体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论