+1 - and how well does the memory mapping of TDB work on Dalvik?
Would jena-sdb work with SQLite? https://developer.android.com/guide/topics/data/data-storage.html#db You would probably need https://github.com/SQLDroid/SQLDroid so you get a JDBC driver. On 1 April 2015 at 18:02, Claude Warren <[email protected]> wrote: > Might it make sense to use a different persistence engine on Android since > it probably will not have the huge datasets that TDB is designed for. It > might make sense to have a small store available for small devices. Just a > thought. > > Claude > > On Tue, Mar 31, 2015 at 9:41 PM, Sören Brunk <[email protected]> > wrote: > >> Hi Andy, >> >> thanks for your feedback and sorry for taking so long to reply. It would >> be great to get Android support into mainline Jena and I'm willing to help. >> It might be necessary to build an extra jar package for Android though, >> similar to what jena-osgi does. >> >>> >>> Is there are anything the Jena project can do that would make the >>> conversion? There may be things that Jena does, or the way is it packaged, >>> that are inconvenient for you but really make no differnce to the project - >>> sometimes things are just the way they are because it was done that way but >>> could easily be done another way. If you have any such points, do email >>> thsilist or raise a JIRA. >>> >> >> The httpclient issue might resolve itself as soon as Jena is able to >> switch to httpclient 4.3. I've looked into the javax.xml issues in more >> detail and the good news is that all the xsd datatype classes are actually >> there. What's missing are the StAX classes (everything in java.xml.stream) >> which seem to be used in ARQ and core (for SPARQL XML result sets, RDF/XML >> and TriX) and of course in Xerces. That means it's enough to repackage the >> StAX classes from xml-apis and to modify jena-arq, jena-core and >> xercesImpl. I've changed my build accordingly. >> >> Android uses XmlPullParser for stream parsing. So another solution could >> be to replace StAX with a XmlPull based parsing but I guess that would take >> some effort. >> >>> >>> On Android, how does TDB work well? TDB uses fairly traditional file >>> handling for 32 bit machines - "direct mode" - and uses memory mapped I/O >>> for 64 bit machines - "mapped mode" - if it can detect the mode correctly. >>> Detection is not subtle, it looks in system property "java.vm.info" and >>> default to 32 bit. In mapped mode, it does try to use as much memory as >>> possible which is not friendly to co-resident apps (you can force "direct" >>> mode programmatically). >>> >> >> Since most Android devices nowadays run on a 32 bit ARM architecture I >> guess it will run almost always in direct mode. >> But I realized that TDB isn't working at all at the moment, because it >> depends on JDK classes that aren't available on Android for things like >> getting the PID. I think it is possible to replace those calls by using >> similar classes provided by the Android SDK. I will try to get it working. >> A dependency on Android specific code would probably make mainline >> integration more difficult though. >> >> Sören >> >> -- >> Dipl. Inf. Sören Brunk >> Research Associate >> >> Technische Universität Dresden >> Faculty of Computer Science >> Institute for Software- and Multimedia-Technology >> Junior Professorship in Software Engineering of Ubiquitous Systems >> 01062 Dresden >> >> > > > -- > I like: Like Like - The likeliest place on the web > <http://like-like.xenei.com> > LinkedIn: http://www.linkedin.com/in/claudewarren -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons RDF (incubating) http://orcid.org/0000-0001-9842-9718
