介绍一个好用的jar包:可将owl文件转为三元组

一 背景知识

知识图谱方向目前越来越火,顺带着,表示知识图谱的语言,如rdf,owl等也跟着火了起来。但是这些语言都有一定的门槛,没接触过xml的初学者不可能在短时间内掌握,这些语言的熟练工也无法通过快速浏览文件来判断图谱的结构。因此,需要将这些语言所表示的结构用复杂网络的形式表现出来。这样,我们就可以根据可视化后网络的结构直观地认识这个图谱,也可以通过网络的各种系数(集聚系数等)了解图谱的一些特性。

rdf即resource defined framework,资源定义框架,是用来表示知识图谱中的实体及其关系的。owl即ontology web language,本体网络语言,可以简单理解为rdf的进化版本。它既可以表示实体之上的一层概念--类,又可以表示类的实例(individual)。但owl使得实例更加规范。所谓的“本体”,是指某个领域的一些概念的集合,比如大学本体,葡萄酒本体等。这些本体可以用owl来表示。本体中包含着很多类(class),每个类都有自己的名字(vocabulary)。具体如下图表示:(图片转自知乎,稍后给出链接):

二 转化方式

那么,怎样才能把一个rdf或者owl或者其他表示实体或本体的文件转化成复杂网络呢?想想可能有些头疼,还好大牛们已经为我们写好了现成的工具--一个特定的jar包。Stack Overflow网站上有人提出了这个问题,别人的回答中给出了jar包的链接。原问题和答案链接如下:

https://stackoverflow.com/questions/45362802/using-jena-to-convert-an-owl-file-to-n-triple-from-terminal-returns-an-empty-fil

jar包的下载地址如下:

http://www.l3s.de/~minack/rdf2rdf/

上面的链接中介绍了jar包的用法,需要在Linux下(或者cmd下)运行:

Run the jar file like this: java -jar rdf2rdf-1.0.1-2.3.1.jar INPUTFILE(S) OUTPUTFILE
 

三 实践

从网上下载了wine.owl,进行转化。

进入wine.owl所在的目录后,将jar包也放入同一个文件夹,在终端输入java -jar rdf2rdf-1.0.1-2.3.1.jar wine.owl wine.nt

然后就能在当前目录下找到对应的nt文件了。

下面将两个文件的部分内容对应起来讲解。如,wine.owl(1)与wine.nt(1)相对应,wine.nt(1)表示的是wine.owl(1)转化而成的三元组。

wine.owl(1):

//下面一小段代码是对当前wine本体的描述

  <owl:Ontology rdf:about="">//对owl本体的声明,为空表示用owl的默认URI

    <rdfs:comment>An example OWL ontology</rdfs:comment>

//这一段是owl本体的一个例子

 

    <owl:priorVersion>//版本控制
      <owl:Ontology rdf:about="http://www.example.org/wine-020303"/>
    </owl:priorVersion>
 <owl:imports rdf:resource="http://www.w3.org/2001/sw/WebOnt/guide-src/food.owl"/>//其他本体的嵌入
    <rdfs:comment>Derived from the DAML Wine ontology at 
      http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
      Substantially changed, in particular the Region based relations.
    </rdfs:comment>//注释
    &l

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值