基于Jena系统的知识融合技术研究
2016-10-21杨夏柏杨明
杨夏柏 杨明
摘要:随着语义Web的发展,基于RDF描述的知识日益增多,形成了各种各样的数字图书馆、知识库分布在网络上,为了把这些现有的知识和正在产生的知识有机地融合在一起,实现面向语义Web的知识融合,本文基于Jena系统研究了面向语义Web的知识融合的并操作,并基于Jena系统对知识融合的并操作进行实现和验证。
Abstract: With the development of semantic Web, the knowledge based on RDF description is increasing, a variety of digital libraries are formed the knowledge bases are distributed on the Internet. In order to organically fuse the existing knowledge and producting knowledge and realize the knowledge fusion for the semantic Web, this paper studies the incorporative operation of knowledge fusion for the semantic Web based on Jena system. And based on the incorporative operation of knowledge fusion by Jena system, the implementation and verification are carried out.
关键词:语义Web;知识融合;并操作;RDF;RDFS
Key words: semantic Web;knowledge fusion;incorporative operation;RDF;RDFS
中图分类号:G719.21 文献标识码:A 文章编号:1006-4311(2016)07-0213-02
0 引言
RDF模型和RDFS规范是W3C的推荐标准,基于这个标准和XML语法建立的资源、信息、知识越来越多,它们大多以RDF文件的格式描述并存放在网络上,广泛存在于数字图书馆、知识库、本体等中。所以,如何保证一个RDF文件内容、版本等的一致性和正确性是一个重要的问题,为了研究这个问题,Sarkar等人[1]提出了对一个RDF文件的五种更新操作(Add、InsertAfter、Delete、Remove、Replace),并给出了Add和InsertAfter的操作,这五种更新操作将有助于维护一个RDF文件总是处于正确信息状态。但是,在RDF资源管理的过程中,如何把多个RDF文件进行知识的融合是一个重要的研究问题,解决了两个RDF文件之间的知识融合,就可以实现多个RDF文件之间的知识融合,因为两两知识融合是多个RDF文件进行知识融合的前提。RDF文件ynu-lnic-3.rdf和ynu-lnic-4.rdf的文件内容如图4所示。图1是ynu-lnic-3.rdf文件的RDF图表示形式,图2是ynu-lnic-4.rdf文件的RDF图表示形式,两个RDF文件在图上可以明显的看到有相同的知识和不同的知识,如何把这两个文件中相同的知识提取出来,不同的知识合并在一起,这是一个很值得研究的知识融合问题。本文以图1和图2为例,研究两个图的并操作。图3是ynu-lnic-3.rdf文件和ynu-lnic-4.rdf文件合并后的结果。
1 基于Jena系统开发环境的搭建
Jena是HP实验室开发的一个用来处理语义Web架构的Java工具包[2][3],本文使用的版本是Jena2.1系统(以下简称Jena)。Jena把RDF图作为它的核心,在其外围建立其他組件,Jena为语义Web研究提供了一个RDF平台。Jena根据RDF模型和RDFS语法规范提供建立和操作RDF图的Java API,支持集合的并、交、差操作。
jena系统的开放源码包括jena.jar,xercesImpl.jar, xml-apis.jar,icu4j.jar,concurrent.jar, jakarta-oro-2.0.5.jar,antlr.jar,junit.jar,commons-logging.jar,log4j-1.2.7.jar, rdf-api-2001-01-19.jar共11个程序包,本论文用到的包主要是jena.jar。
用小颖Java源代码反编译专家V1.30中的“目录级反编译操作”反编译Jena2.1系统中lib文件夹中的上述11个java包,就可以获得Jena2.1系统源程序代码。
知识融合的界面实现使用了Jcreate pro2.5、JbuilderX和Togerther6.1工具。Togerther6.1工具用来分析Jena系统的类图(UML图),JbuilderX配合Togerther6.1打开Jena系统的源程序代码。
安装Java sdk1.4.0和Jcreator Pro250,把Jena2.1系统中Lib下的11个jar包添加到Jcreator Pro250开发环境下。然后在Jcreator Pro250开发环境下设计知识融合的操作界面和编写程序代码。
2 两个RDF文件知识融合的界面设计及实现
知识融合的界面设计如图4所示,整个界面设计分上中下三个部分,上面部分和中间部分的设计相同,都是由一个命令按钮和文本框组成,命令按钮的功能负责从“打开文件对话框”中选择一个RDF文件;文本框的功能负责显示用命令按钮打开的文件。这样就可以把两个RDF文件分别打开并显示在两个文本框中。下面部分由一个文本框和六个命令按钮组成。合并预览按钮负责实现知识融合的并操作并把结果显示在文本框中,合并导出按钮负责把合并结果导出到文件系统的存储介质上。笔者基于Jena系统提供的Java API实现了知识融合的并操作(源程序代码略)。图4是RDF文件lnic-ynu-3.rdf和RDF文件lnic-ynu-4.rdf并操作的运行结果显示(用默认输出格式"RDF/XML-ABBREV")。
3 知识融合结果在线验证
为了验证知识融合结果是否正确,我们把通过可视化界面导出的RDF文件分别上传到Experimental RDF Visualizer在线RDF解析器,解析结果表明我们的实现是正确的。
Experimental RDF Visualizer解析器是HP实验室开发的一个实验性RDF图可视化器,用户使用时需要自己搭建运行环境。该解析器由五个Java程序文件组成:Analyzed Graph.java,NodeToSVG.java,ModelTo-SVG.java,Http VisualizeHandler.java, Http VisualizeServer.java。编译和运行该解析器需要的其它软件有:
①Sun's Java SDK, version 1.4.1,下载网址为http://java.sun.com;②The Jetty HTTP Server,version 4.2.1,下载网址为http://jetty.mortbay.org;③The Jena RDF Library,version 2.1,下載网址为http://jena.sourceforge.net。
运行的步骤:
①在Jcreator Pro250下运行HttpVisualize Server.java,按提示输入*.rdf,*.n3, *.owl文件所在的路径,系统开始在DOS界面下检测提供路径的文件,正常后自动启动远程服务器;②切换到IE浏览器,在地址栏输入http://localhost:8181/visualize即可查看RDF文件夹中的RDF文件的RDF图。
图5是用Experimental RDF Visualizer解析器显示的并操作结果,参与知识融合的源文件是RDF文件lnic-ynu-3.rdf和lnic-ynu-4.rdf,融合的结果文件是lnic-ynu-3-4-union.rdf。
4 结束语
基于Jena系统的知识融合技术研究包含的内容很多,本文基于Jena系统实现了知识融合的并操作,下一步将基于Jena系统对知识的交、差操作进行研究。
参考文献:
[1]Sarkar,S,Ellis,H,Five Update Operations for RDF, RH-DOES-TR 03-04, September 2003.
[2]http://jena.sourceforge.net.
[3]http://www.hpl.hp.com.