SemanticXO: Is a Semantic Web for XO-1 Laptop Possible?


Back in December, Christophe Guéret posted an introduction to the project SemanticXO, where he sought to create a Semantic Web for children using XO laptops. He says:

Learning a foreign language, getting an introduction to reading/writting or preserving/revive an endangered/extinct language are among the possible usages of these XOs. Such activities could take a significant benefit from a storage layer optimised for multi-lingual and loosely structured data.

One of the building block of the Semantic Web, the "Triple Store", is such a data storage service. A triple store is like a database engine optimised to store and provide access to triples, atomic statements binding together a subject a predicate and an object. For instance, . And these two triples would define two different names for two different languages: , .

SemanticXO is a new project from the contributor program aimed at adding a triple store and a front-end API on the XOs' operating system. This triple store will extend the functionalities of Sugar with the possibility for all activities to store loosely structured/multilingual data and easily connect information across activities. In plus, the SPARQL protocol will allow for an easy access to the data stored on any device.

To be honest, I'm not sure what that really means. Is this a database project? Is it to help translation of the Sugar User Interface? Or are children somehow to use SemanticXO in their language acquisition?

Regardless of its purpose, it seems that SemanticXO development has come to a halt. The only other post from Christophe Guéret detailed RedStore running on the XO, where he noted the challenges of installing a TripleStore on an XO using RedStore, namely that RedStore depends on some external libraries that are not yet packaged for Fedora11 and since it's not so easy to compile directly on the XO, a second computer is required. Once installed, the XO didn't return queries quickly. The XO failed on a number of benchmark different triple stores, even after being executed over a full night.

So Christophe, what does this mean? Is a Semantic Web for children using the XO possible?


Get OLPC News daily - enter your email address:



First of all thanks for your interest in this project :)

To answer to your first question, semantic software are knowledge representation tools used to model factual information. For instance "Amsterdam,isIn,Netherlands". These facts are stored in optimised databases, the triple stores. So, yes, is kind of a data base project which aims at installing such a triple store and coding a nice API on top of it to use it and get access to all the data published with the same technology.

You can have a look at to get an idea of the data which is out there. With SemanticXO an activity developper will be able to simply get the population of Amsterdam, or the exact location of Paris, or the population of London, or whatever. The LOD cloud can be queried just like a database and it contains a lot of information about many topics. And because the XO will itself be able to use the same publication system, the kids using Sugar will be able to publish their data on the cloud (through an activity, with the right permissions, etc).

The first step for this idea was to get a triple store running. It was not easy to find one that would fit the low specs of an XO-1 and I was happy to see that it worked. Of course, the benchmark I tried didn't produce any super result but that was to be expected. These evaluation systems are aimed at testing big triple stores on big hardware. I knew most of the query would failed but using such a testing tool is the de facto academic way to test if your triple store is usable.
Considering that on the oldest generation of XO the triple store managed to answers queries way more complex that the one it is expected to deal with, I found the results acceptable.

Finally, I can ensure that the developement has by no way stopped and is going on quite well. I have to do it on my spare time, so it's not going as fast as I would like but things are moving on. On my last post there is an example of an activity using the store for its internal data and a pointer to a technical report that, I hope, will bring more light onto the project goals & status.

Right now, I'm working on extending this activity and implementing an drop-in replacement for the datastore that would use the triple store to store metadata about the different entries.

To be honest, I'm not sure what that really means.

I have been able to detect no clear correlation between use of the term "Semantic Web" and knowledge of what it means. I think everybody just read it in Wired in 1999 and filed it away as a really good thing to put on a square of your Buzzword Bingo card.

(The Wikipedia article for "Semantic Web" may be quite good. Or it may not. I share the mystification of the person who put the "this article has multiple issues" template at the top of it.)

Shirky has already posted something about this: