1

I'm currently coding a Java ME program that has an internal OWL reasoning engine (Hermit & Pellet) and receives ontology data (sensor data) from a backend server. Sometimes this data is also composed of raw sensor data and already reasoned results from a reasoner on the backend server. The reasoning will only be performed on the mobile device in case of network failures.

At this moment I'm lacking a good method of storing the backend data for further processing. I've already looked up Triple Stores, but I was wondering if there are any good ones for Java ME applications?

Grtz

Neo

Tom
  • 85
  • 2
  • 10
  • FYI for future readers: (5 april 2015) I wanted to let you know the project resulted as "not possible on mobile devices due to the current limitations of the hardware". – Tom Dec 08 '17 at 08:27

1 Answers1

1

You're approaching this the wrong way. Do the reasoning on the server and send the results to your application.

Reasoning is computationally difficult. Trying to do it on a mobile device will either be a terrible user experience because it's slow, or just won't work on anything but toy data.

There are RDF databases that perform reasoning which are quite good, and if you really need DL reasoning, there are a number of dedicated OWL reasoners which it would not be hard to put a SPARQL endpoint in front of so you can query them remotely. Pick one that best suits your needs and go with it; do the reasoning in the backend, get the results via SPARQL protocol (HTTP).

Michael
  • 4,858
  • 19
  • 32
  • Thank you for your comment, but this is a research project on mobile reasoning for help in emergency cases (with local reasoning on the mobile device, in case of network failures). I cannot change the specifications that were made for this project. At this moment the reasoning is actually performing quite fast (from 1 to 3 seconds) on mobile devices. The only problem I'm actually encountering is storing loads of data in an unefficient way in the memory. That's why I asked if anybody knew a more efficient way like triple stores? – Tom Mar 10 '13 at 23:56
  • If you are finding the memory utilization to be an issue, you can try and use something that uses query time reasoning, rather than something that will compute classification & realization up front. But that will mean queries will be slower and use more memory to evaluate. There's no magic bullet here. – Michael Mar 11 '13 at 11:39
  • Again thank you for your comment and the rich information, but the point of the research is actually discovering how fast/good mobile devices are in using reasoning engines and rule engines together. I found another question from a user which you answered: http://stackoverflow.com/questions/13155676/open-source-triple-store-for-owl?rq=1 Perhaps I should have included this information in the question, but I'm currently using Hermit for reasoning and will compare it with Pellet. The only problem I had was the need for persistent storage of sensor data on the mobile device. – Tom Mar 11 '13 at 17:52
  • I wanted to let you know the project resulted as "not possible on mobile devices due to the current limitations of the hardware". Thus your answer was the best "current" solution. – Tom Apr 15 '15 at 09:43