>
>
> I have integrated the library of apache jena 3.8.0 in android studio and
> implement dependencies:
> the Java version is :jdk1.8.0
> Build.gradle(Module: app) code:
>
> apply plugin: 'com.android.application'
>
> android {
> compileSdkVersion 27
> defaultConfig {
> applicationId "com.example.toshiba.myapplication"
> minSdkVersion 24
> targetSdkVersion 27
> versionCode 1
> versionName "1.0"
> testInstrumentationRunner
> "android.support.test.runner.AndroidJUnitRunner"
> multiDexEnabled true
> }
>
> buildTypes {
> release {
> minifyEnabled false
> proguardFiles getDefaultProguardFile('proguard-android.txt'),
> 'proguard-rules.pro'
> }
> }
> buildTypes {
> release {
> lintOptions {
> checkReleaseBuilds false
> abortOnError false
> }
> }
> }
> packagingOptions {
> exclude 'META-INF/DEPENDENCIES'
> exclude 'META-INF/LICENSE'
> exclude 'META-INF/LICENSE.txt'
> exclude 'META-INF/license.txt'
> exclude 'META-INF/NOTICE'
> exclude 'META-INF/NOTICE.txt'
> exclude 'META-INF/notice.txt'
> exclude 'META-INF/ASL2.0'
>
> }
>
> buildToolsVersion '28.0.2'
> compileOptions {
> sourceCompatibility JavaVersion.VERSION_1_8
> targetCompatibility JavaVersion.VERSION_1_8
> }
> }
> android {
>
> dexOptions {
> incremental true
> preDexLibraries = false
> javaMaxHeapSize "4g" // 2g should be also OK
> }
>
> }
> android {
> configurations.all {
> resolutionStrategy.force 'com.android.support:support-v4:27.1.1'
> }
> }
>
> dependencies {
> implementation fileTree(include: ['*.jar'], dir: 'libs')
> //noinspection GradleCompatible
> implementation 'com.android.support:appcompat-v7:27.1.1'
> implementation 'com.android.support.constraint:constraint-layout:1.1.2'
> implementation 'com.android.support:support-v4:27.1.1'
> implementation 'com.android.support:design:27.1.1'
> testImplementation 'junit:junit:4.12'
> androidTestImplementation 'com.android.support.test:runner:1.0.2'
> androidTestImplementation
> 'com.android.support.test.espresso:espresso-core:3.0.2'
> // compile 'com.github.asne:asne-facebook:0.3.3.3'
> // compile 'com.github.asne:asne-linkedin:0.3.3.3'
> //compile 'com.github.asne:asne-twitter:0.3.3.3'
> // compile 'com.github.asne:asne-googleplus:0.3.3.3'
> implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
> implementation 'com.android.support:recyclerview-v7:27.1.1'
> implementation 'com.android.support:cardview-v7:27.1.1'
> implementation 'com.android.support:cardview-v7:27.1.1'
> implementation files('libs/collection-0.7.jar')
> implementation files('libs/commons-cli-1.4.jar')
> implementation files('libs/commons-codec-1.11.jar')
> implementation files('libs/commons-compress-1.17.jar')
> implementation files('libs/commons-csv-1.5.jar')
> implementation files('libs/commons-lang3-3.4.jar')
> implementation files('libs/httpclient-4.5.5.jar')
> implementation files('libs/httpclient-cache-4.5.5.jar')
> implementation files('libs/httpcore-4.4.9.jar')
> implementation files('libs/jackson-annotations-2.9.0.jar')
> implementation files('libs/jackson-core-2.9.5.jar')
> implementation files('libs/jackson-databind-2.9.5.jar')
> implementation files('libs/jcl-over-slf4j-1.7.25.jar')
> implementation files('libs/jena-arq-3.8.0.jar')
> implementation files('libs/jena-base-3.8.0.jar')
> implementation files('libs/jena-cmds-3.8.0.jar')
> implementation files('libs/jena-core-3.8.0.jar')
> implementation files('libs/jena-dboe-base-3.8.0.jar')
> implementation files('libs/jena-dboe-index-3.8.0.jar')
> implementation files('libs/jena-dboe-trans-data-3.8.0.jar')
> implementation files('libs/jena-dboe-transaction-3.8.0.jar')
> implementation files('libs/jena-iri-3.8.0.jar')
> implementation files('libs/jena-rdfconnection-3.8.0.jar')
> implementation files('libs/jena-shaded-guava-3.8.0.jar')
> implementation files('libs/jena-tdb-3.8.0.jar')
> implementation files('libs/jena-tdb2-3.8.0.jar')
> implementation files('libs/jsonld-java-0.12.0.jar')
> implementation files('libs/libthrift-0.10.0.jar')
> implementation files('libs/log4j-1.2.17.jar')
> implementation files('libs/slf4j-api-1.7.25.jar')
> implementation files('libs/slf4j-log4j12-1.7.25.jar')
> implementation 'com.google.guava:guava:26.0-android'
> implementation 'com.android.support:support-annotations:27.1.1'
> implementation 'com.android.support:support-vector-drawable:27.1.1'
> implementation 'com.google.gms:google-services:3.1.1'
> implementation 'com.github.bumptech.glide:glide:4.7.1'
> implementation 'com.google.android.gms:play-services:12.0.1'
> implementation files('libs/picasso-2.5.2.jar')
> implementation 'com.stripe:stripe-android:8.0.0'
> implementation files('libs/jena-arq-3.8.0.jar')
> implementation files('libs/commons-io-2.4.jar')
> }
>
> android { sourceSets { main { assets.srcDirs = ['src/main/assets',
> 'src/main/assets/'] } } }
>
>
>
> On Tue, Sep 25, 2018 at 1:21 PM Lorenz B. <
> [email protected]> wrote:
>
>> How do you use Jena? Via Maven dependency?
>> Which Jena version? Which Java version?
>>
>> > 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
>> >
>> --
>> Lorenz Bühmann
>> AKSW group, University of Leipzig
>> Group: http://aksw.org - semantic web research center
>>
>>