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