再来看个完整的读写例子:

import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;

import org.openrdf.model.Model;import org.openrdf.model.URI;import org.openrdf.model.util.ModelUtil;import org.openrdf.model.vocabulary.RDFS;import org.openrdf.rio.RDFFormat;import org.openrdf.rio.RDFHandlerException;import org.openrdf.rio.RDFParser;import org.openrdf.rio.RDFWriter;import org.openrdf.rio.Rio;import org.openrdf.rio.UnsupportedRDFormatException;import org.openrdf.rio.helpers.StatementCollector;import org.openrdf.sail.memory.model.MemValueFactory;

public class Test { static String NS = "http://www.steeven.org/rdf#";

    public static void main(String[] args) throws Exception {     for (RDFFormat format : RDFFormat.values()) {         String file = "test." + format.getDefaultFileExtension();         testWrite(format, file);          testRead(format, file);       } }

   private static void testRead(RDFFormat format, String file)           throws Exception {        RDFParser parser = Rio.createParser(format, MemValueFactory              .getInstance());      StatementCollector sc = new StatementCollector();        parser.setRDFHandler(sc);     parser.parse(new FileInputStream(file), NS);      Model model = sc.getModel();     System.out.println(model.contains(createNS("steeven"), RDFS.LABEL, null));      System.out.println(model.filter(null, RDFS.LABEL, null));     System.out.println(model.filter(null, createNS("desc"), null));     System.out.println(model.filter(null, null, MemValueFactory               .getInstance().createLiteral("steeven li")));       System.out.println(ModelUtil.getUniqueObjectLiteral(model,                createNS("steeven"), RDFS.LABEL));      System.out.println(model.filter(createNS("steeven"), null, null).size());   }

   private static URI createNS(String name) {        return MemValueFactory.getInstance().createURI(NS, name); }

   private static void testWrite(RDFFormat format, String file)          throws RDFHandlerException, UnsupportedRDFormatException,         FileNotFoundException {       // System.out.println("=======format: " + format + "========");      RDFWriter w = Rio.createWriter(format,               new FileOutputStream(file, false));       w.setBaseURI(NS);     w.handleNamespace("myns", NS);      w.handleNamespace("w3", RDFS.NAMESPACE);        w.startRDF();     w.handleComment("my first rdf file");

     URI res = createNS("steeven");     w.handleStatement(MemValueFactory.getInstance().createStatement(res,              RDFS.LABEL,               MemValueFactory.getInstance().createLiteral("steeven li")));        w.handleStatement(MemValueFactory.getInstance().createStatement(res,              createNS("desc"),               MemValueFactory.getInstance().createLiteral("good blogger")));      w.endRDF();       System.out.println("\n");   }}

输出如下:

true[(http://www.steeven.org/rdf#steeven, http://www.w3.org/2000/01/rdf-schema#label, "steeven li")][(http://www.steeven.org/rdf#steeven, http://www.steeven.org/rdf#desc, "good blogger")][(http://www.steeven.org/rdf#steeven, http://www.w3.org/2000/01/rdf-schema#label, "steeven li")]"steeven li"2

RDFParser/RdfWriter主要针对流来操作. 而后面要介绍的sail则基于库的概念,可以查询.类似数据库的概念.
数据库的概念过于平面化.RDf的结构复杂些,能根据主谓宾中的任意元素组合查询/遍历. 其内置的索引机制负责加速查询. 开发过程中可以省去复杂的数据建模.

sesame芝麻开门operrdf研究2相关推荐

  1. 【Other】最近在研究的, Java/Springboot/RPC/JPA等

    我的Springboot框架,欢迎关注: https://github.com/junneyang/common-web-starter Dubbo-大波-服务化框架 dubbo_百度搜索Dubbo与 ...

  2. 三年级作息技术初识计算机教案,江西科学技术出版社 新三年级信息技术教案 2第二课 芝麻开门——初识计算机...

    江西科学技术出版社 新三年级信息技术教案 2第二课 芝麻开门--初识计算机 第二课芝麻开门--初识计算机 教学目标与要求: 知识与技能:了解计算机的种类.特点和计算机的发展.并能说出计算机四代的名称. ...

  3. 最强大脑----“汉字女英雄”填字游戏研究

    最强大脑----"汉字女英雄"填字游戏研究 一.引子 江苏卫视的<最强大脑>2014年1月17日星期五第三期第一个节目,是"汉字女英雄"胡小玲所表演 ...

  4. 策划资料“中国”古今称谓的研究及其意义(转)

    策划资料"中国"古今称谓的研究及其意义(转)[@more@] 一 人有姓名,国有称谓."上下五千年.纵横一万里"的中国,国外有人说,这是"一个伟大到不 ...

  5. 2022-2028年中国安防行业研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国安防行业市场行业相关概述.中国安防行业市 ...

  6. 2022-2028年中国盲盒产业研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国盲盒行业市场行业相关概述.中国盲盒行业市 ...

  7. 2021-2027年中国手机结构件行业投资分析及发展战略研究咨询报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国手机结构件行业市场行业相关概述.中国手机 ...

  8. 2021-2027年中国手机壳行业现状研究及发展趋势分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国手机壳行业市场行业相关概述.中国手机壳行 ...

  9. 2021-2027年中国医疗护理行业深度研究及发展趋势报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国医疗护理行业市场行业相关概述.中国医疗护 ...

最新文章

  1. Linux 多线程应用中编写安全的信号处理函数
  2. oracle常用日期函数
  3. K8S集群tls证书管理
  4. Doubly Linked List,( Aizu - ALDS1_3C )
  5. usb数据的接收和打印,除了问题,接收数据不全
  6. python 最小二乘回归 高斯核_机器学习技法6-(支持向量回归)
  7. 命令提示符使用java 类报错_lt;03gt;详解第一个Java程序
  8. 第十天学习@javascript
  9. Chelly的串串专题
  10. Hyperion神器之SmartView产品(中篇)
  11. eplan加密狗已损坏_[转载]EPLAN Electric P8 仿真加密狗 error 1068 问题
  12. 网安自学之路-信息安全数学基础(五)-近世代数
  13. Navicat中文版破解安装
  14. 计算机没有usb硬件,电脑开机启动项中没有USB设备启动项怎么办?
  15. 2019 FeatherNets: Convolutional Neural Networks as Light as Feather for Face Anti-spoofing
  16. NCBI上基因前面有个accession(编号)分别有NC是什么意思
  17. php干啥,php是什么意思?php能干啥?
  18. Windows200864位操作系统下的SQLPLUS.EXE 无法找到入口解决办法和Oracle环境变量的设置
  19. 不知道测试什么?你需要知道的软件测试类型和常识【经典长文】
  20. Centos 7 编译升级openssh脚本 —— 筑梦之路

热门文章

  1. 玩转算法面试LeetCode题目目录
  2. 玩转Kafka—SpringGo整合Kafka
  3. 教你用代码实现一个网页老虎机游戏
  4. 学习在kvm上创建vtpm
  5. 随机过程学习笔记04 布朗运动
  6. 计算机重启机箱亮显示器不亮,电脑重启显示器不亮如何解决
  7. Ubuntu20修改屏幕亮度
  8. GFlags调试堆中野指针
  9. 爬取7160网站总是不成功。。。求大神分析分析
  10. java中gui_java中GUI是什么意思?详细图解