Xesam vs. Nepomuk – It is Settled


Update: Since there seems to be some confusion: This blog discusses the Xesam ontology, not the desktop search API!

For a long time now we had two desktop ontologies trying to solve the same problems: the Xesam ontology and NIE (Nepomuk Information Elements) both define classes and properties to describe desktop metadata ranging from id3 tags (artist, title, and so on) to emails and instant messaging. While the latter was developed as part of the Nepomuk project, the Xesam ontology was a by-product of the Xesam desktop search API project on freedesktop.org mainly designed by Evgeny (Phreedom) Egorochkin.

Now although I am obviously biased I cannot say if one was better than the other. What I can say is that NIE was more complete then Xesam. In any case, even during that time both ontologies benefited from each-other. NIE contains ideas from Xesam and the other way around. So both ontologies were already pretty close. All that was left to do was a merger. And that is what happened now. Sort of.

With Nokia pushing Tracker and being very interested in semantic desktop technology, with KDE leaning towards Nepomuk anyway (ok, that is my fault), and with Evgeny, being the lead Xesam ontology developer, wanting this merge to happen sooner than later NIE sort of won. Tracker now uses NIE and Strigi was also ported to NIE recently. Discussions on the xesam mailing list suggest that ther Xesam ontology can be seen as deprecated now. Any advantages it has over NIE should be either merged into NIE or maintained as an extension to NIE.

I think this is a great development. And again this should not be seen as a defeat of Xesam. As I said: many ideas from Xesam already found their way into NIE and others will in the future. Evgeny and Philip Van Hoof (working on Tracker) already created extensions to at least NMO which should be merged soon.

But IMHO we now should make sure that we do not end up with multiple versions of NIE all over the place. Strigi’s source code now contains copies of NIE, kdebase already contains NIE (alongside other ontologies), and I figure that the same is true for Tracker. Thus, to avoid having one ontology installed in different versions and different places from different packages, I suggest that we create a new project which is only concerned with the desktop ontologies. It has already be done with mime types. So why not do the same with ontologies.

The OSCAF foundation, a result from the Nepomuk project, was supposed to maintain these ontologies. However, so far not much has happened. So we created a sourceforge project which could serve as the platform to collaboratively develop these desktop ontologies. The way I see it we could use a subversion repository to develop the ontologies and put the stable versions on the semanticdesktop.org server. In any case I think we need some platform for the ontologies. And just a wiki is not enough.

A short comment on the technical side: In kdebase I maintain the ontologies as a pair of trig source files and desktop files which describe the ontology (name, comment, namespace, path to source file, etc.). Maybe this could be a starting point to get to a common way of storing ontologies for the desktop.

14 thoughts on “Xesam vs. Nepomuk – It is Settled

  1. Thats very cool to hear. I think it would be even better if you could leave out all terms and sentences where someone could get the impression that Xesam lost and NIE won.

    You said yourself: Its not about winning vs. loosing. This is a solution where everybody wins.

    Besides that, cool to hear!

      • I agree with you. You cleary state that. And you say “NIE sort of won” and “vs.” in the headline. These are the only points that somehow carry this theme of fighting & winning. Overall you’re doing a good job with avoiding this impression.

  2. Hi trueg, nice to read so great news for the semantic desktop concept. Now for a question/rant.

    I’m a big fan of semantic desktops, or at least the promise of one such desktop. But with all the technology flying around, is getting increasingly difficult to understand what does what.

    I know it all comes down to a combo of technologies but i’ve not found so far a single article from the kde community (or any other) explaining exactly how the semantic desktop is being built, what are the components and HOW TO USE IT!

    I’ve stayed away from strigi so far because beagle does a better job in indexing more content, but beagle would be just a component of the semantic desktop, and isn’t kde based, so… now we have strigi, nepomuk and soprano, but how this technologies bind together? is it seamless to the end user?

    A nice feature of beagle is the way the gnome applet shows the information, something lacking in kde as of yet, since krunner in 4.2.2 is not up to the task.

    My final question is, will i be able to dump beagle in 4.3 with same (or more) features being adressed with kde semantic desktop? A article written by you guys is sorely missed :(

    best regards and keep up the good work :) from a semantic desktop fan :D

    • No, KDE 4.3 will not provide more features than 4.2 as far as the semantic desktop goes. Development is slow. I was working more on K3b and a new project.

      As far as the comparison with Beagle goes: my goal was never to create another desktop search engine for file metadata like Beagle. Using Strigi was just a means to get that functionality for free. Sadly it took a lot of my time which, thus, I could not spent on the “real” semantic desktop which is about linking information and enriching data manually and semi-automatically.
      The desktop search is just a by-product.

      KDE 4.4 will bring more with the GSoC projects and the upcoming workshop we should be able to create cool new things. But do not expect anything mimicking Beagle. The goal is different.

      But thanks for the input. I will try to write an article in which I bring the technologies in perspective.

      • Thanks for the answer trueg (just now i realized you are the one behind K3b ;)), but you touched my point exactly, the semantic desktop is such a wide vision, it is difficult for the average user to even grasp what is supposed to do, and since everyone “sees” only the search meta data engine, trying to see beyond that becomes an exercise of futility . So i eagerly wait for your article because like many other i’m a bit lost in all this revolution that is starting to build around nepomuk.

  3. Great!

    Oh and I’ve started, in the past month working on an app built around nepomuk. It’s amazing that once you start working with it, the ridiculous possibilities just start to unroll before you. THIS IS INCREDIBLY COOL STUFF! It’s a little difficult for people to see sometimes, but my goodness this is amazing. Talk about next generation desktop! Many people might not see the vision until the new semantic-desktop-aware apps are plonked down in front of them. But as the apps start to roll out, watch out!

    Thanks for your hard work Seb. It’s enabling the rest of us to dream up cool ideas AND implement them.

  4. Pingback: Importante fusione per la ricerca desktop su Linux « pollycoke :)

  5. Sad to contradict you, but in the Xesam list I cannot find any mention to the deprecation of the specification. It is true that internally Xesam 2.0 will differ from Xesam 1.0 (but maintaining an API as near as possible to the current), but there is any sort of option to drop the current work.
    Are you sure to read correctly mails from the list?

  6. Pingback: Colpo di Stato « MadBob

Leave a comment