jena构建本体,读取owl文件,输出owl文件相关知识

官方文档是最需要学习的

https://jena.apache.org/documentation/ontology/#creating-ontology-models

https://jena.apache.org/documentation/io/rdfxml_howto.html


一种输出方式:

http://bbs.w3china.org/dispbbs.asp?BoardID=2&ID=54819&replyID=116147&skin=1

http://bbs.w3china.org/dispbbs.asp?BoardID=2&ID=54819&replyID=116270&skin=1


最后贴上我的代码:

@Test
public void testJena() throws Exception{
	
	//读取本体
	final String SOURCE = "http://ist.sjtu.edu.cn/visualization/ontology";
	final String NS = SOURCE + "#";
	OntDocumentManager ontDocMgr = new OntDocumentManager();
	// set ontDocMgr's properties here
	ontDocMgr.addAltEntry(SOURCE, "file:../testont.owl");
	OntModelSpec ontModelSpec = new OntModelSpec(OntModelSpec.OWL_MEM);
	ontModelSpec.setDocumentManager(ontDocMgr);
	// asserted ontology
	OntModel baseOnt = ModelFactory.createOntologyModel(ontModelSpec);
	baseOnt.read(SOURCE, "RDF/XML");
	// inferred ontology (after reasoning)
	OntModel infOnt = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF, baseOnt);
	
	//构建本体
	OntClass furniture = baseOnt.createClass(NS+"Furniture");
	OntClass chair = baseOnt.createClass(NS+"Chiar");
	furniture.addSubClass(chair);
	OntClass bed = baseOnt.createClass(NS+"Bed");
	furniture.addSubClass(bed);
	OntClass zhongwen = baseOnt.createClass(NS+"中文");
	
	//输出owl文件到文件系统
	String filepath = "../testont.owl";
	FileOutputStream fileOS = new FileOutputStream(filepath);
	RDFWriter rdfWriter = baseOnt.getWriter("RDF/XML");
	rdfWriter.setProperty("showXMLDeclaration","true");
	rdfWriter.setProperty("showDoctypeDeclaration", "true");
	rdfWriter.write(baseOnt, fileOS, null);
	//用writer就不需要用下面的方法了
	//baseOnt.write(fileOS, "RDF/XML");
	fileOS.close();
}


  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值