package tutorial;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.StmtIterator;
import com.hp.hpl.jena.vocabulary.VCARD;
public class RDFReading {
public static void main(String[] args){
String personURI = "http://somewhere/JohnSmith";
String givenName = "John";
String familyName = "Smith";
String fullName = givenName + " " + familyName;
Model model = ModelFactory.createDefaultModel();
Resource johnSmith = model.createResource(personURI);
johnSmith.addProperty(VCARD.FN, fullName);
johnSmith.addProperty(VCARD.N,
model.createResource()
.addProperty(VCARD.Given, givenName)
.addProperty(VCARD.Family, familyName));
// 从 Model 获取资源
Resource vcard = model.getResource(personURI);
/*
// 获取N 属性的值(用属性的 getObject()方法)
Resource name = (Resource) vcard.getProperty(VCARD.N)
.getObject();
*/
// 如果知道属性的值是资源,可以使用属性的getResource 方法
Resource name = vcard.getProperty(VCARD.N)
.getResource();
// 属性的值若是 literal,则使用 getString 方法
fullName = vcard.getProperty(VCARD.FN)
.getString();
// 增加两个 NICKNAME 属性
vcard.addProperty(VCARD.NICKNAME, "Smithy")
.addProperty(VCARD.NICKNAME, "Adman");
System.out.println("The nicknames of \""
+ fullName + "\" are:");
// 列出两个NICKNAME 属性,使用资源的 listProperties 方法
StmtIterator iter = vcard.listProperties(VCARD.NICKNAME);
while (iter.hasNext()) {
System.out.println(" " + iter.nextStatement()
.getObject()
.toString());
}
}
}
RDF.zip_The Various_rdf
版权申诉
29 浏览量
2022-09-23
17:57:00
上传
评论
收藏 3KB ZIP 举报
小贝德罗
- 粉丝: 68
- 资源: 1万+
最新资源
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
- 发那科工业机器人保养大全
- Sphere.h
- REMD固有时间尺度分解信号分量可视化(Matlab完整源码和数据)
- 嵌入式系统双单片机STC89C52+STC15W104多功能学习板电路图可扩展 适用于单片机初学者和教学
- 基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)大赛作品
- XILINXFPGA源码基于Spartan3火龙刀系列FPGA开发板VGA测试例程
- Java聊天室的设计与实现【尚学堂·百战程序员】
- python中matplotlib教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈