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

Andy Seaborne commented on JENA-1037:
-------------------------------------

Apache Xerces is no longer a dependency requirement for Apache Jena. JENA-1537 
extracts the Xerces validation code for Jena's use and removes the dependency 
on Xerces as the XML parser.

Any XML parser can be used with Jena (defaulting to the JDK-provided one) 
through the usual mechanism for adding to the application.


> 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
>            Priority: Major
>             Fix For: 3.8.0
>
>
> 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:
> {noformat}
> public static OntModel createModel(final String ontologyUri) {
>               final OntModel model = 
> ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
>               model.read(ontologyUri);
>               return model;
>       }
> {noformat}
> 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.  
> {noformat}
> 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)
>     ... 
> {noformat}
> What's triggering this exception is the following snippet of code:
> {noformat}    
> public static OntModel createModel(final String ontologyUri) {
>     final OntModel model = 
> ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
>     model.read(ontologyUri);
>     return model;
> }
> {noformat}
> 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
(v7.6.3#76005)

Reply via email to