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 |