6

I'm thinking about using semantic (web) technologies like RDF and OWL in an application on mobile devices. Currently I'm targeting android, but I'd also be interested in the possibilities on the iPhone and on J2ME.

I would like to use a library instead of implementing everything from scratch.

I know that there are some libraries/frameworks like Jena, Redland, Protégé but they don't state on which platforms they are known to work.

Having a dynamic object model and parsing from and to XML are must-haves for me.

I'd also like to use reasoning, but I've been told it was rather computing-intensive, so that's only a nice-to-have.

For all platforms mentioned, the question can be interpreted as

  • Is it possible in theory? (especially for J2ME I'm not sure)
  • Are there libraries that are known to work on those platforms?
  • Is the performance on a mobile platform good enough for real world usage?
DhruvJoshi
  • 17,041
  • 6
  • 41
  • 60
Lena Schimmel
  • 7,203
  • 5
  • 43
  • 58
  • One possibility, although it would involve another piece, is to have a server that does the compute intensive tasks and the mobile app simply gets the "cooked" data from your server via REST or what have you. – BobbyShaftoe Jan 29 '09 at 14:34

6 Answers6

6

You wrote you want J2ME, but other readers might be interested in C#.

Mono makes C# available on iPhone and Android. Once that is done, you can use ROWLEX to deal with RDF and OWL. You might consider reading this Stackoverflow question.

Community
  • 1
  • 1
GarbageGuy
  • 513
  • 1
  • 5
  • 12
  • Hi! This article about Mono is very cool - thanks a lot! And as you said at the beginning, it doesn't help me with J2ME... Guess I can't have everything at once. – Lena Schimmel Apr 02 '09 at 09:24
  • Once you have C# why on earth would you want J2ME? http://www.koushikdutta.com/2008/11/post-11-android-versus-windows-mobile.html – GarbageGuy Apr 03 '09 at 08:26
4

Maybe look into IYOUIT. It is a

mobile application developed in Python, and running on Nokia Series 60 phones.

It uses OWL and reasoning. You can read the details in this paper.

Kaarel
  • 10,554
  • 4
  • 56
  • 78
1

There's Jena port to Android platform here. http://code.google.com/p/androjena/

fumingshih
  • 11
  • 1
0

If this is a client-server type application and you have some control over the server, I would do the semantic web stuff server-side, and hand the relevant information to your view client on the mobile device.

Julien Chastang
  • 17,592
  • 12
  • 63
  • 89
0

A more general answer to your question title is Mosembro, a browser for Android that utilizes Microformats for semantic data. It doesn't do any non-trivial computations with the data, however.

Zach
  • 24,496
  • 9
  • 43
  • 50
0

if you have no limit as to use a certain framework, you can use REST api to handle server-client interactions. more information here.