Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Jena 3.0.0
-
None
-
Karaf
Description
I'm trying to create a simple interface/impl that will generate Prov-O RDF and place it on a JMS queue. This object will live in an OSGi environment and be injected into various operating services working in a workflow. I call the following piece of code:
public static OntModel createModel(final String ontologyUri) { final OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); model.read(ontologyUri); return model; }
with the ontologyUri="http://www.w3.org/ns/prov-o"; but when it gets to the ModelFactory.createOntologyModel(...) it chokes with the following stack trace.
java.lang.IncompatibleClassChangeError: Class org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser$SAXParserWithEncodingCheck does not implement the requested interface org.xml.sax.XMLReader at org.apache.jena.rdfxml.xmlinput.SAX2RDF.installHandlers(SAX2RDF.java:171) at org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.<init>(RDFXMLParser.java:63) at org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.create(RDFXMLParser.java:127) at org.apache.jena.rdfxml.xmlinput.JenaReader.<init>(JenaReader.java:69) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.8.0_11] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)[:1.8.0_11] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.8.0_11] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)[:1.8.0_11] at java.lang.Class.newInstance(Class.java:433)[:1.8.0_11] at org.apache.jena.rdf.model.impl.RDFReaderFImpl.getReader(RDFReaderFImpl.java:120) at org.apache.jena.rdf.model.impl.ModelCom.read(ModelCom.java:279) at org.apache.jena.ontology.OntDocumentManager.findMetadata(OntDocumentManager.java:892) at org.apache.jena.ontology.OntDocumentManager.initialiseMetadata(OntDocumentManager.java:850) at org.apache.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:198) at org.apache.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:180) at org.apache.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:164) at org.apache.jena.ontology.OntDocumentManager.getInstance(OntDocumentManager.java:242) at org.apache.jena.ontology.OntModelSpec.getDocumentManager(OntModelSpec.java:320) at org.apache.jena.ontology.impl.OntModelImpl.getDocumentManager(OntModelImpl.java:189) at org.apache.jena.ontology.impl.OntModelImpl.loadImports(OntModelImpl.java:1964) at org.apache.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:151) at org.apache.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:131) at org.apache.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:288) ...
What's triggering this exception is the following snippet of code:
public static OntModel createModel(final String ontologyUri) { final OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); model.read(ontologyUri); return model; }
I'm basically creating an OntModel and then pulling the OntClass and OntProperty fields out of the model for creating some Models.