官方文档是最需要学习的
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();
}