本体开发日记03-理解代码

这篇博客记录了作者在学习本体开发过程中的理解,主要关注Jena框架下如何处理RDF、OWL本体。内容涵盖Jena的ModelFactory、StatementDemo、RDFWriting、RDFReading等类的功能解释,以及Jena本体子系统、OntModel、OntDocumentManager和推理引擎的介绍。博主提到Jena2.4版本已过时,现在通常使用更高版本,并分享了使用Jena处理OWL文件及与WordNet模型结合的思考。
摘要由CSDN通过智能技术生成

1.推荐一个宝藏博主https://blog.csdn.net/javafreely(地球原住民)。
2.代码:https://blog.csdn.net/javafreely/article/details/8432522
3.博主的RDF专栏:https://blog.csdn.net/javafreely/category_1311840.html?spm=1001.2014.3001.5482

要是能有个OWL的就好了!发现大家都是毕设写这个!我OWL完全没搞懂!!!!
1.根据前面引用代码里面的内容,我自己理解了一下这个代码讲了点儿啥!因为好记性不如烂笔头,虽然是打字,但是总觉得还是应该记一下,这样估计记得牢固一点儿!
(1)第一个类Introduction根据原博说明就是简单的jena应用!
在这里插入图片描述

参考教材https://max.book118.com/html/2017/0717/122715588.shtm(这个版本有点儿低,现在应该可以有相关OWL的读写操作了!)
Page4:jena的用途:a)以RDF/XML,三元组形式读写RDF;b)RDFS,OWL,DAML+OIL等本体的操作;c)利用数据库保存数据;d)查询模型;e)基于规则的推理。

ModelFactory 类是一个Model 工厂,用于创建model 对象。我们可以使用 Model 的createResource 方法在model 中创建一个资源,并可以使用资源的 addProperty 方法添加属性。
(2)StatementDemo类:Jena API 解析RDF 的Statement

StmtIterator iter = model.listStatements(); Model 类的listStatements 返回 Statement Iterator
Statement stmt = iter.nextStatement(); 遍历Statement
Resource subject = stmt.getSubject(); 主语 getSubject Resource
Property predicate = stmt.getPredicate(); 谓语 getPredicate Property
RDFNode object = stmt.getObject(); 客体 getObject RDFNode

(3)RDFWriting类:输出RDF, Model 的write 方法将其model 中内容写入一个输出流

model.write(System.out); model.write(OutputStream) 默认的输出格式
model.write(System.out, "RDF/XML-ABBREV"); model.write(OutputStream, “RDF/XML-ABBREV”) 使用XML 缩略语法输出RDF
model.write(System.out, "N-TRIPLE"); model.write(OutputStream, “N-TRIPLE”) 输出n 元组的格式

PS:这部分内容粘贴原博主的内容了!以我的智商是看不太懂了!
(4)RDFReading类:读取已有的RDF文件

InputStream in = FileManager.get().open( inputFileName ); 使用 FileManager 查找文件 import org.apache.jena.util.FileManager
model.read(in, null); 读取RDF/XML 文件 Model 的read 方法可以读取RDF 输入到model 中。第二个参数可以指定格式。
model.write(System.out);

(5)NSPrefix类:设置Namespace 前缀

String nsA = "http://somewhere/else#";
Resource root = m.createResource( nsA + "root" ); 调用 Model 的createProperty 和createResource 生成属性和资源
Property P = m.createPr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值