我正在嘗試創建一個新的本體,並在一些操作保存之後。它創建得很好,我在處理類和其他事情方面沒有問題,但是當我嘗試將它保存到本地文件時給我一個錯誤! 我的代碼是:用jena保存本體的錯誤
//create a new ontology
SOURCE = "http://www.w3.org/2002/07/owl#";
NS = SOURCE + "#";
ontology = ModelFactory.createOntologyModel();
ontology.read(SOURCE, "RDF/XML");
///////some actions
//save the ontology
try {
File file= new File("Log.owl");
ontology.write(new FileOutputStream(file));
}
catch (IOException e) {
e.printStackTrace();
}
和錯誤是:
Exception in thread "main" com.hp.hpl.jena.shared.BadURIException: Only well-formed absolute URIrefs can be included in RDF/XML output: <d> Code: 57/REQUIRED_COMPONENT_MISSING in SCHEME: A component that is required by the scheme is missing.
at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.checkURI(BaseXMLWriter.java:829)
at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.xmlnsDecl(BaseXMLWriter.java:348)
at com.hp.hpl.jena.xmloutput.impl.Basic.writeRDFHeader(Basic.java:56)
at com.hp.hpl.jena.xmloutput.impl.Basic.writeBody(Basic.java:39)
at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.writeXMLBody(BaseXMLWriter.java:500)
at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:472)
at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:458)
at com.hp.hpl.jena.rdf.model.impl.ModelCom.write(ModelCom.java:271)
at com.hp.hpl.jena.ontology.impl.OntModelImpl.write(OntModelImpl.java:2552)
我知道, 「http://www.w3.org/2002/07/owl#」 的格式是龜但我想要RDF/XML中的本體論,我不知道該寫什麼,而不是該鏈接。我嘗試了不同的鏈接,但每次都會給我另一個錯誤。源應該成爲一個真正的聯繫?
Thaks for any reply!
基本上,解決這類錯誤的方法是添加「命名空間」;無論是在課堂上還是在個人主題,對象,謂詞(資源)中。沒有命名空間,它不允許在RDF/XML中編寫本體 –