새로운 온톨로지를 생성하려고 시도 중입니다. 일부 작업 후에 저장합니다. 그것은 잘 만들어졌고 수업이나 다른 것들을 다루는데 아무런 문제가 없지만, 그것을 로컬 파일에 저장하려고하면 에러가납니다!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에 온톨로지를 갖고 싶습니다. 링크 대신에 무엇을 써야할지 모르겠습니다. 다른 링크를 시도했지만 매번 다른 오류가 발생했습니다. SOURCE가 실제 링크 여야합니까?
답장을 보내려면 Thaks!
기본적으로 이러한 종류의 오류에 대한 해결책은 "네임 스페이스"를 추가하는 것입니다. 그것의 클래스 또는 개별 Subject, object, predicate (Resources). 네임 스페이스가 없으면 RDF/XML로 온톨로지를 작성할 수 없습니다. –