一部分常用的Jena本体操作函数,写在这里备忘
更加详细的,参见:http://jena.apache.org/documentation/javadoc/jena/
org.apache.jena.ontology.OntModel model =org.apache.jena.rdf.model.ModelFactory.createOntologyModel( org.apache.jena.ontology.OntModelSpec.OWL_MEM);
通过本体模型工厂类的静态函数创建本体模型OntModel,其中,参数OntModelSpec.OWL_MEM 表示in-memory的owl语言的模型,不包含推理器
model.read("file:"+ontology_file);
读入本体模型OntModel,这个是parse阶段
org.apache.jena.ontology.OntClass oc = model.getOntClass( name_space+"oc_local_name");
通过本体模型的getOntClass()方法获取到一个给定URI的本体类
org.apache.jena.ontology.AnnotationProperty ap = model.createAnnotationProperty(name_space+"ap_loacal_name");
通过本体模型的createAnnotationProperty()方法创建一个标记属性
org.apache.jena.ontology.Individual indi = oc.createIndividual(name_space+"indi_local_name");
通过本体类OntClass的createIndividual()方法创建一个给定URI的本体实例Individual
indi.addLiteral(ap, ap_value);
向本体实例中添加一个标记属性以及标记属性的值(Literal)
org.apache.jena.ontology.ObjectProperty obp = model.getObjectProperty( name_space + "dobp_loacl_name" );
获取本体模型中给定URI的一个对象属性
model.add(sub,obp,obj);
将两个实例通过对象属性连接起来
org.apache.jena.rdf.model.RDFWriter rdfWriter = model.getWriter("RDF/XML");
获得rdf输出器,格式为RDF/XML
rdfWriter.write(model,new FileOutputStream(out_file),"RDF/XML");
将本体模型model,以RDF/XML格式写入文件输出流,及保存在out_file文件中