论文部分内容阅读
随着语义网络中本体资源的增加,本体的规模越来越大,结构越来越复杂。此时,本体查询和管理的效率成为人们普遍关注的问题。而本体存储方式直接影响着本体的查询效率,因此,如何合理地存储大规模的本体,从而提高本体的查询和搜索效率是一件很有意义且具有挑战性的任务。近些年来,国内关于本体存储方面的研究都在不断发展,然而许多研究都只局限于基于关系数据库上的,只是在现有的存储方式上加以改良,在本体查询效率上并没有显著的提高。为进一步提高本体的查询效率,本文在基于面向对象数据库的本体存储方式上进行了探索,并使用优秀的开源对象数据库db4o和本体开发工具包Jena设计并实现了该存储方式。面向对象数据库中数据直接以对象方式存储,可避免将本体拆分为三元组,很好地解决了阻抗失配的问题。更重要的是在面向对象数据库中查询本体数据不需要再用像SQL这样的中间语言和像JDBC这样的中间接口,因此用对象数据库来存储本体不仅更直观,而且查询效率与关系数据库相比也大大提高了。全文的主要研究成果如下:(1)对基于面向对象数据库存储本体的可行性进行了理论分析。首先对本体模型和对象数据库模型相似性进行了分析,讨论了如何用对象数据库对数据的操纵和管理能力来存取本体,从而论证了基于对象数据库存储本体,可大大提高本体查询效率。(2)选取对象数据库db4o和jena作为工具,设计并实现了一种专门的存储方式。本文选用Jena工具包来创建和填充本体模型,并通过对其内部接口的修改将本体数据持久存储到对象数据库中。系统结构分三层设计,把本体持久化到对象数据库的过程进行了封装,对外提供直接操纵本体对象的接口,使在对象数据库中对本体的操作与在内存中对本体数据的操作几乎一样。(3)对系统的性能及本体存储和查询效率进行了详细的测试分析。本文对此存储方案进行性能分析,对不同情况下本体的存储和查询效率进行了详细测试,并与传统的关系数据库存储方式在效率上进行对比分析。