Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t使用Jena以OWL格式表示数据_Java_Jena_Owl - Fatal编程技术网

Java Can';t使用Jena以OWL格式表示数据

Java Can';t使用Jena以OWL格式表示数据,java,jena,owl,Java,Jena,Owl,我正在尝试使用创建OWL格式的本体,但是我做不到。最终我得到的是RDF,而不是我所期望的OWL。我能问你我做错了什么吗 这是我的密码: public class OntologyBuilder { OntModel ontModel; public OntologyBuilder() { this.ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); } private void buildOnto() {

我正在尝试使用创建OWL格式的本体,但是我做不到。最终我得到的是RDF,而不是我所期望的OWL。我能问你我做错了什么吗

这是我的密码:

public class OntologyBuilder {

OntModel ontModel;
public OntologyBuilder() {
   this.ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
}

private void buildOnto() {
   final OntClass son = ontModel.createClass(OWL.NS + "Sun" );
}

public void performConvetring() {

  buildOnto();

  try {
      String filenameOWL2 = OntoConstants.dirname + OntoConstants.filename + OntoConstants.xmlExtension;

      FileWriter out = null;
      out = new FileWriter(filenameOWL2);
      ontModel.write(System.out);
  } catch(Exception e){
       e.printStackTrace();
  }

}
}
最终我得到了RDF

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#" > 
  <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Sun">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdf:Description>
</rdf:RDF>

其实应该是这样的

<owl:Class rdf:ID="Sun"> 
   ...
</owl:Class>

...
如果有人知道如何与jena或其他LIB合作,请分享。
谢谢

不,你错了。您得到的是OWL本体的RDF/XML序列化。不多不少。内容是一样的。如果您想以不同的格式序列化数据,只需这样做。在任何情况下,内容,尤其是其含义和语义都是相同的。顺便说一句,OWL API对OWL更方便,ApacheJena主要是为处理RDF而设计的。@AKSW明白了,非常感谢!您得到的格式是RDF/XML,您想要的格式是RDF/XML-ABBREV。不同之处在于风格。@Ignazio感谢它的效果!