You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Stian Soiland-Reyes (JIRA)" <ji...@apache.org> on 2015/10/01 01:10:04 UTC

[jira] [Commented] (JENA-1037) jena-osgi

    [ https://issues.apache.org/jira/browse/JENA-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14939028#comment-14939028 ] 

Stian Soiland-Reyes commented on JENA-1037:
-------------------------------------------

Thanks for the detailed report, I'll try to recreate it within the jena-osgi-test module.

It is correct that the xerces are contained within the Jena OSGi bundle as a private package - precisely to try to avoid this kind of issue as I believe we are still depending on some *.impl stuff from xerces.

> jena-osgi
> ---------
>
>                 Key: JENA-1037
>                 URL: https://issues.apache.org/jira/browse/JENA-1037
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: OSGi
>    Affects Versions: Jena 3.0.0
>         Environment: Karaf
>            Reporter: Ben Gould
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)