I see
> Caused by: org.xml.sax.SAXNotRecognizedException:
> http://apache.org/xml/features/allow-java-encodings
> at
org.apache.harmony.xml.ExpatReader.setFeature(ExpatReader.java:130)
> at
org.apache.jena.rdfxml.xmlinput.SAX2RDF.installHandlers(SAX2RDF.java:182)
> at
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.<init>(RDFXMLParser.java:68)
so "harmony.xml.ExpatReader.setFeature"
is throwing
SAXNotRecognizedException:
http://apache.org/xml/features/allow-java-encodings
because it does not accept
http://apache.org/xml/features/allow-java-encodings
This is not the SAX parser Jena is tested with (old versions shipped
Xerces, current version uses whatever the JDK provides).
You can get the effect of pre3.8.0 by addign Xerces 2.11.0 or 2.12.0 to
the classpath.
Also, check the Androijena project to what they did about XML on
Android. (That is not part of the Apache Jena project - it's another group).
Do you need to use RDF/XML? If yo uuse Trutle (and convert the .owl file
using teh Jena command line tools not in Android Studio), you may not
need RDF/XML.
Andy
On 25/09/18 09:37, elio hbeich wrote:
I am trying to execute sparql query in android studio using the following
code:
OntModel model =null;
model =ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_RULE_INF);
AssetManager mgr = MainActivity.this.getAssets();
InputStream in = mgr.open("MallOntology.owl");
model.read(in, "");
String updateString = "PREFIX ns:
<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#>\n"
+
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
"PREFIX owl: <http://www.w3.org/XML/1998/namespace#>\n" +
"PREFIX xml: <http://www.w3.org/XML/1998/namespace#>\n" +
"PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
"PREFIX ts: <http://www.w3.org/2002/07/owl#>\n" +
"PREFIX ds:
<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-50#>\n"
+
"\n" +
"Insert data
{<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"
+ ID + "> rdf:type ds:User.\n" +
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"
+ ID + "> rdf:type ds:Personal.\n" +
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"
+ ID + "> rdf:type ts:NamedIndividual.\n" +
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"
+ ID + "> ns:First_Name \"" + FN + "\". \r\n" +
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"
+ ID + "> ns:Last_Name \"" + LN + "\". \r\n" +
//
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"+id.getText().toString()+">
ns:Gender \""+gender.getText().toString()+"\". \r\n" +
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"
+ ID + "> ns:Username \"" + um + "\". \r\n" +
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"
+ ID + "> ns:Email \"" + em + "\". \r\n" +
//
"<http://www.semanticweb.org/toshiba/ontologies/2018/6/untitled-ontology-60#"+id+">
ns:Date_Of_Birth \""+birthday+"\". \r\n" +
" }";
UpdateAction.parseExecute(updateString,model);
but i received the following error:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.toshiba.myapplication, PID: 6678
org.apache.jena.shared.JenaException: Failed to create an RDFXMLParser
at
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.create(RDFXMLParser.java:148)
at org.apache.jena.rdfxml.xmlinput.ARP.<init>(ARP.java:76)
at
org.apache.jena.riot.lang.ReaderRIOTRDFXML.<init>(ReaderRIOTRDFXML.java:64)
at
org.apache.jena.riot.lang.ReaderRIOTRDFXML$Factory.create(ReaderRIOTRDFXML.java:60)
at org.apache.jena.riot.RDFParser.createReader(RDFParser.java:415)
at org.apache.jena.riot.RDFParser.createReader(RDFParser.java:409)
at org.apache.jena.riot.RDFParser.parseNotUri(RDFParser.java:335)
at org.apache.jena.riot.RDFParser.parse(RDFParser.java:291)
at
org.apache.jena.riot.RDFParserBuilder.parse(RDFParserBuilder.java:500)
at
org.apache.jena.riot.RDFDataMgr.parseFromInputStream(RDFDataMgr.java:870)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:268)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:254)
at
org.apache.jena.riot.adapters.RDFReaderRIOT.read(RDFReaderRIOT.java:69)
at org.apache.jena.rdf.model.impl.ModelCom.read(ModelCom.java:275)
at
org.apache.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:2132)
at
com.example.toshiba.myapplication.MainActivity$3.onCompleted(MainActivity.java:240)
at com.facebook.GraphRequest$1.onCompleted(GraphRequest.java:301)
at com.facebook.GraphRequest$5.run(GraphRequest.java:1380)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.RuntimeException: Supposedly impossible:
at
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.<init>(RDFXMLParser.java:70)
at
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.create(RDFXMLParser.java:141)
at org.apache.jena.rdfxml.xmlinput.ARP.<init>(ARP.java:76)
at
org.apache.jena.riot.lang.ReaderRIOTRDFXML.<init>(ReaderRIOTRDFXML.java:64)
at
org.apache.jena.riot.lang.ReaderRIOTRDFXML$Factory.create(ReaderRIOTRDFXML.java:60)
at org.apache.jena.riot.RDFParser.createReader(RDFParser.java:415)
at org.apache.jena.riot.RDFParser.createReader(RDFParser.java:409)
at org.apache.jena.riot.RDFParser.parseNotUri(RDFParser.java:335)
at org.apache.jena.riot.RDFParser.parse(RDFParser.java:291)
at
org.apache.jena.riot.RDFParserBuilder.parse(RDFParserBuilder.java:500)
at
org.apache.jena.riot.RDFDataMgr.parseFromInputStream(RDFDataMgr.java:870)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:268)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:254)
at
org.apache.jena.riot.adapters.RDFReaderRIOT.read(RDFReaderRIOT.java:69)
at org.apache.jena.rdf.model.impl.ModelCom.read(ModelCom.java:275)
at
org.apache.jena.ontology.impl.OntModelImpl.read(OntModelImpl.java:2132)
at
com.example.toshiba.myapplication.MainActivity$3.onCompleted(MainActivity.java:240)
at com.facebook.GraphRequest$1.onCompleted(GraphRequest.java:301)
at com.facebook.GraphRequest$5.run(GraphRequest.java:1380)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: org.xml.sax.SAXNotRecognizedException:
http://apache.org/xml/features/allow-java-encodings
at org.apache.harmony.xml.ExpatReader.setFeature(ExpatReader.java:130)
at
org.apache.jena.rdfxml.xmlinput.SAX2RDF.installHandlers(SAX2RDF.java:182)
at
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.<init>(RDFXMLParser.java:68)
Any advices,
Best Regards