XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Jena 3.0.0
    • Jena 3.8.0
    • OSGi
    • 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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bdgould Ben Gould
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: