8

Computer science student trying to get my feet wet with android development. I am trying to build an app where I am pretty sure a graph database is going to be required (its an app the creates relationships between user created objects, think of a unidirectional mind map).

I have found a few graph databases ported for android.

Neo4j for Android

Titan for Android

Sparksee Mobile

My issue with the first two is that I am not sure if they are even up to date. The last commits are from 2013. I attempted to build the sample project for neo4j for android but got stuck where it required me to use android sdk version 14 (My current sdk manager api 23 doesn't include the option to download api 14). Now I am not sure if I should continue trying to get it to run because I have no idea if it will even work on my app 23 projects.

Sparksee mobile looks like it might work but the licensing is making it really complicated for something I have 0 plans on ever monetizing.

I'm surprised a graph database for android is so hard to find. When I recently learned what a graph database was I can see it being immensely helpful in a ton of applications, yet I feel like I am searching for some obscure thing. I simply can't imagine how any kind of social network or navigation app is built without some kind of graph database. Perhaps I am misled and am just barking up the wrong tree. Any advice?

William Lyon
  • 8,371
  • 1
  • 17
  • 22
Jay Moontra
  • 143
  • 1
  • 7
  • 1
    Asking for off-site resources is considered to be off-topic for Stack Overflow. – CommonsWare Feb 02 '16 at 19:14
  • Is it possible to port and use hypergraphdb ? I self have no enough skills to make android port, but very interested in hgdb ir opencog android port with gui view/editor – Dmitry Ponyatov Jul 30 '17 at 10:03

3 Answers3

3

The Neo4j for Android project that you reference is a port of a very outdated version of Neo4j (and as you mention is built against an outdated version of Android).

Instead of running the database on the Android device, you should consider running the database on a server and using the database's API to interact with it. Sparksee Mobile is the only graph database that I'm aware of that targets running on mobile devices.

For Neo4j, services such as GrapheneDB provide free or very low cost hosted Neo4j instances that you can use for development and testing.

William Lyon
  • 8,371
  • 1
  • 17
  • 22
  • 1
    Thanks for the response William. GrapheneDB does look like a good resource. However, I have two concerns with using running the database on a server that maybe you could help clarify. My first concern is not being able to update the data when not connected to the internet. And the second is that this is just a personal project that I plan to release for free, so I need to keep costs basically at 0 if possible. Given those two issues right now I am leaning towards sparksee. – Jay Moontra Feb 02 '16 at 22:10
  • Under the [FAQ section](http://www.graphenedb.com/docs/faq.html#plans) it says the free version supports 10 sandbox instances. Does this mean that only 10 users will be able to interact with the database at once? I also cant seem to find the actual price plans to upgrade to a larger database. – Jay Moontra Feb 02 '16 at 22:10
  • Hello @JayMoontra, the Sandbox plan allows to store up to 1000 nodes and 10000 rels for free, forever. The limit of 10 means that you can create up to 10 of such databases on our service, for free. You can find the prices for higher plans at http://www.graphenedb.com/pricing-aws . – albertoperdomo Feb 03 '16 at 14:21
  • @JayMoontra Does Sparsity even offer a free license? The only free licenses I see are for evaluation, university, and development - the cheapest thing I could find for released products was around 2200 euros... – Michael Jan 14 '18 at 23:08
  • 1
    @William Lyon: Not an option for an offline application. – Stefan Steiger Mar 10 '19 at 22:29
0

Another option is to go with a hosted graph db. IBM Graph provides a REST API that you can call from any platform and it's basically TP 3.x and Titan 1.x. Here's a link to where you can create an instance https://console.ng.bluemix.net/catalog/services/graph-data-store/

Alaa Mahmoud
  • 743
  • 3
  • 18
0

It looks like it might be possible to embeded SurrealDb into Javascript or Rust, use the rust back end using Tauri Mobile

It also seems maybe it could be possible to use XTDB database paired with Speed DB for its key value store if you can compile XTDB to native using Graal VM Native Image.

All of these seem like a big maybe and I haven't successfully gotten any of these strategies working myself yet, but am also looking for a good offline-first capable graph database.

David Mays
  • 466
  • 4
  • 14