论文部分内容阅读
本体可以用来实现某种程度的知识共享和重用。不同的本体语言具有不同的表达能力,能够不同程度的蕴含语义信息。使用相应的推理机,可以获取这些隐含信息。当本体推理结果中出现逻辑冲突时,则需进行本体调试来发现并定位产生问题的事实或公理。本体调试问题的复杂性,决定了对大规模本体进行调试是困难的。本文针对一类本体语言(RDFS),采用分布式处理技术突破I/O和主存对大规模RDFS本体存储和处理能力的限制,研究大规模RDFS本体的调试方法。主要研究内容包括:分布式环境下RDFS本体推理,调试信息的分布式存储与更新,利用调试信息进行分布式本体调试。大规模RDFS本体的调试过程中需要频繁访问本体数据以及相关调试信息,因此需要设计本体推理算法对调试信息进行收集。现有基于MapReduce相关技术的本体推理算法,因涉及大量迭代型运算严重影响了推理效率。为了提高RDFS本体推理的效率,本文采用Spark框架。与MapReduce各任务之间不能复用数据不同,Spark将操作后的中间数据存放在内存中,下一个操作可以直接从内存中输入,省去了MapReduce任务间大量的磁盘I/O操作,这样大大提高了迭代运算的效率。此外,运用字典编码技术对本体数据进行了压缩,降低存储空间开销,进一步提高了推理效率。将推理过程中获得的调试信息存储在分布式数据库系统HBase中以支持本体调试。此外,针对本体更新的情况,提出了调试信息的更新算法。借助本体推理算法得出的调试信息,实现了两种本体调试算法。一种是直接对HBase数据库进行查询,获取调试信息,求取蕴含辩解的算法;而另一种基于本体调试可以转换为图上的回溯操作的考虑,将本体数据及调试信息存储为Hama框架中的图数据结构,从而进行图回溯得到蕴含辩解的算法。本文采用LUBM测试数据集对本体推理和本体调试分别进行了实验。结果表明,本文提出的基于Spark框架的本体推理方法在大数据集下,比基于MapReduce实现的本体推理引擎有更好的性能,速度提高20-30%。本体调试算法能较快的获取到蕴含的辩解,有效处理包含十亿数量级三元组的RDFS本体。