sesame芝麻开门operrdf研究2
再来看个完整的读写例子:
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相关推荐
- 【Other】最近在研究的, Java/Springboot/RPC/JPA等
我的Springboot框架,欢迎关注: https://github.com/junneyang/common-web-starter Dubbo-大波-服务化框架 dubbo_百度搜索Dubbo与 ...
- 三年级作息技术初识计算机教案,江西科学技术出版社 新三年级信息技术教案 2第二课 芝麻开门——初识计算机...
江西科学技术出版社 新三年级信息技术教案 2第二课 芝麻开门--初识计算机 第二课芝麻开门--初识计算机 教学目标与要求: 知识与技能:了解计算机的种类.特点和计算机的发展.并能说出计算机四代的名称. ...
- 最强大脑----“汉字女英雄”填字游戏研究
最强大脑----"汉字女英雄"填字游戏研究 一.引子 江苏卫视的<最强大脑>2014年1月17日星期五第三期第一个节目,是"汉字女英雄"胡小玲所表演 ...
- 策划资料“中国”古今称谓的研究及其意义(转)
策划资料"中国"古今称谓的研究及其意义(转)[@more@] 一 人有姓名,国有称谓."上下五千年.纵横一万里"的中国,国外有人说,这是"一个伟大到不 ...
- 2022-2028年中国安防行业研究及前瞻分析报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国安防行业市场行业相关概述.中国安防行业市 ...
- 2022-2028年中国盲盒产业研究及前瞻分析报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国盲盒行业市场行业相关概述.中国盲盒行业市 ...
- 2021-2027年中国手机结构件行业投资分析及发展战略研究咨询报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国手机结构件行业市场行业相关概述.中国手机 ...
- 2021-2027年中国手机壳行业现状研究及发展趋势分析报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国手机壳行业市场行业相关概述.中国手机壳行 ...
- 2021-2027年中国医疗护理行业深度研究及发展趋势报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国医疗护理行业市场行业相关概述.中国医疗护 ...
最新文章
- Linux 多线程应用中编写安全的信号处理函数
- oracle常用日期函数
- K8S集群tls证书管理
- Doubly Linked List,( Aizu - ALDS1_3C )
- usb数据的接收和打印,除了问题,接收数据不全
- python 最小二乘回归 高斯核_机器学习技法6-(支持向量回归)
- 命令提示符使用java 类报错_lt;03gt;详解第一个Java程序
- 第十天学习@javascript
- Chelly的串串专题
- Hyperion神器之SmartView产品(中篇)
- eplan加密狗已损坏_[转载]EPLAN Electric P8 仿真加密狗 error 1068 问题
- 网安自学之路-信息安全数学基础(五)-近世代数
- Navicat中文版破解安装
- 计算机没有usb硬件,电脑开机启动项中没有USB设备启动项怎么办?
- 2019 FeatherNets: Convolutional Neural Networks as Light as Feather for Face Anti-spoofing
- NCBI上基因前面有个accession(编号)分别有NC是什么意思
- php干啥,php是什么意思?php能干啥?
- Windows200864位操作系统下的SQLPLUS.EXE 无法找到入口解决办法和Oracle环境变量的设置
- 不知道测试什么?你需要知道的软件测试类型和常识【经典长文】
- Centos 7 编译升级openssh脚本 —— 筑梦之路