You have probably heard of Nepomuk, the semantic desktop technology we've been shipping for a while as part of the KDE Platform. However, so far, you may not have noticed it really doing very much useful for you. So what is this thing called Nepomuk, what can it do for us now and what will it bring us in the future? We asked two of the driving forces behind Nepomuk, Stéphane Laurière and Sebastian Trüg of Mandriva, to tell us about the real Nepomuk features that are already available in KDE software and those that have been introduced with Mandriva Linux 2010.

The people

Stéphane has been working for Mandriva since 2004 and is working on a variety of projects related to collaborative knowledge management. One of those is "the integration of the Nepomuk technologies into the Mandriva distribution and on the writing of the specifications of the next features". He lives in Paris and met Ansgar Bernardi (of the German Research Center for Artificial Intelligence) and Stefan Decker (of the Digital Enterprise Research Institute in Ireland, author of the seminal paper The Social Sematic Desktop) in Luxembourg in 2005. This led to Mandriva, DFKI, the DERI and others to devise the Nepomuk project and apply for European funding. The project was selected and work began on 1 January 2006. For Stéphane, Nepomuk is very much a reality today: "as a user, I switched entirely to Nepomuk for managing my personal notes and the links I maintain between projects, contacts, organizations, ideas etc". Stéphane is working on setting up new research projects to "ride the semantic wave that is coming :-)".

Sebastian is best known for the CD burning application K3b which he has been developing since 1998. He lives in Freiburg (and seems to like it: "if you ever lived in Freiburg you probably still are - or got forced to another place"). In 2007 he was seeking employment working on KDE technologies and Mandriva, having sponsored him already for K3b, was his first choice: "that is how I met Stéphane who pulled me into the amazing world of the semantic desktop". Since then he's been working on the "first semantic desktop technology in a large free software community, sorry, THE large free software community". In the original research project, Sebastian's role was to make Nepomuk part of the KDE Platform - an integrated, unobtrusive technology that allows application and workspace teams to make their products get smarter in the way they handle your information. He has now taken on a lot of new responsibilities: "I am maintaining pretty much every part of Nepomuk, desperately - but not really successfully - trying to find new recruits to do all my work for me".

An overview of the current status



Nepomuk search in Dolphin Nepomuk search in Dolphin

So, where are we at with Nepomuk now, compared to where we want to be? Stéphane explains that "Nepomuk initially aimed at two main achievements: 1) the ability to interlink data semantically on the desktop across the applications, 2) the ability to share semantic information with other desktops". The first is "getting mature from the infrastructure point of view" and he believes that Mandriva Linux 2010 gives a good insight into the improvements it can bring to the user, but much remains to be done. The design of the framework for the second main objective started only recently: "a workshop took place in Freiburg early November and resulted in a first draft of the Nepomuk Sharing Ontology, and in a set of sharing use cases". Ultimately, it should be possible to share semantic information everywhere from mobile handsets to enterprise servers so that "the sky's the limit".

Nepomuk is already there in ways that you hardly notice - when you tag an image in Dolphin that tag is also visible in Gwenview. Obvious right? Well of course, but that is Nepomuk in action behind the scenes.

Using Nepomuk today to find your files

Assuming your distribution has enabled Nepomuk, files can be already be tagged and rated from Dolphin and searching is possible by typing in to the address bar a query such as:

nepomuksearch:/tag:semanticweb tag:project

If it's a search you use a lot you can add the search results to your Places panel, just like a normal folder. However, complex searches can require quite a lot of knowledge of the correct terminology - consider:



nepomuksearch:/?sparql=select ?r where {{?r nao:hasTag <nepomuk:/semanticweb>} UNION {?r nao:hasTag <nepomuk:/p2p>}}

.

Stéphane acknowledges this: "easier ways to interact with the Nepomuk knowledge base are essential". He notes that Alessandro Sivieri is adding 'faceted browsing' capabilities to Dolphin: "this means you will navigate across your files by selecting a combination of filters graphically. For instance: display all pictures that were taken during last Summer, tagged with Italy and where Kate is present".



Preview of the new search interface Preview of the new search interface

With version 4.4 of the KDE Platform there will be a new Nepomuk query API to make it "very easy for application developers to create query interfaces" and so we should begin to see more use of the Nepomuk capabilities in the applications. Peter Penz is integrating an improved query interface for Dolphin that should debut with release 4.4 of the KDE Software Compilation. Full faceted browsing based on Alessandro's work is expected in Software Compilation 4.5

But enough of the future features. The bottom line is that you can already use Nepomuk for simple searches from the Dolphin address bar and, with the correct knowledge, far more complex searches are also possible. As Stéphane notes, the introduction of Virtuoso as the default storage technology has increased performance significantly so that it is now "possible to perform live queries, updating search results as the user types or proposing query completion at the same time".

This is all part of the process of transforming Nepomuk from a research project to something that is actually usable in the real world. Stéphane and Sebastian recognize how important the KDE community is in this process: "integration of the Nepomuk APIs in KDE software checks it against the effective needs of the users, makes testing more distributed and more efficient, and offers a perfect place for collaborative creativity". They wanted to express "a big thank you to the KDE community for giving Nepomuk a chance - this shows the real power of open-source in general and especially KDE".

All the code (except a few patches specific to Mandriva integration) is maintained within the KDE SVN so it's easy for anyone to contribute and test.

Nepomuk features debuting in Mandriva Linux 2010

In its latest release, Mandriva has packaged a number of new applications and features based on Nepomuk. These are also developed within the KDE community but are not yet integrated in the KDE Software Compilation although it is intended that they will be at some point in the future. Other distributions are of course free to integrate these experimental features. Let's have a look at them.

Task Manager and Nepomuk shell

The Mandriva task manager is a general application for managing items that relate to particular tasks, for example files, contacts, emails and web pages. Actions can be launched from the context menu associated to each item. For instance, an email can be sent to all contacts associated with the selected task.



Task Manager Task Manager

The Nepomuk shell is an application dedicated to the visual management and easy annotation of semantic resources.



Task browsing with Nepomuk Shell Task browsing with Nepomuk Shell

Task browsing integrated in Dolphin and Konqueror

Typing nepomuktree:/ in the Dolphin address bar displays all the tasks and their subtasks, and makes it possible to navigate across the task contents.



Task browsing in Dolphin Task browsing in Dolphin

You can also browse the tasks using a hypertext based interface in Konqueror:



Browsing items via hyperlinks in Konqueror Browsing items via hyperlinks in Konqueror

Konqueror task plugin

There is also integration with web browsing in Konqueror: a "task button" is provided to let you quickly associate a web page with a task.



Easy tagging in Konqueror Easy tagging in Konqueror

Task Switcher

The Mandriva Linux 2010 workspaces include a widget called Task Switcher from which you can select tasks and create new ones. It lets you see all your active tasks and choose one of them as the current task.



Task Switcher widget Task Switcher widget

Making tagging easier

Sebastian and Stéphane recognize that "the long term success of Nepomuk hinges on the ease to link and to annotate documents: the cost of adding metadata to documents must be made negligible compared to the productivity gain". With this in mind, they have worked on making tagging as easy and automated as possible in Mandriva Linux 2010

Assisted manual tagging

From Dolphin, right clicking on a file or a Nepomuk resource (such as a file) and selecting the entry "Action > Annotate" makes it possible to annotate the item. For example, let's say you have a contact "John Smith". Typing "John" in the annotation field will propose to link the selected file with your contact John Smith. A modified KMail package, kmail-nepomuk, provides the ability to easily tag emails too.

Automation of tagging

An exciting, but early stage, technology being trialled in Mandriva Linux 2010 is automation of tagging using Scribo, a research project sponsored by the [email protected] competitiveness cluster. Stéphane and Sebastian see Scribo as "a natural continuation of Nepomuk: it completes the annotation infrastructure". They imagine a scenario in which you receive an email titled "Scribo meeting at Nuxeo office 10/12/2009". Using Scribo and Nepomuk, "KMail could offer to add en event to your calendar that is automatically linked to the Scribo project, the Nuxeo company, the map of the Nuxeo office in Paris and to the Scribo participants".



Scribo-assisted tagging Scribo-assisted tagging

Scribo can analyze text files and suggest relationships via Nepomuk based on the words found. It can also recognize (using Tesseract) text in images so that Nepomuk can suggest linking the image to items that are related to the identified text. These features can be tested in Mandriva Linux 2010 by right clicking on a text file, and selecting "Actions > Run semantic analysis". For an image it is "Actions > Annotate".

Future Scribo-based technologies

Scribo is designed to learn from the user interaction with the system, so that suggestions get better over time. Mandriva is teaming up with research organizations that have expertise in the natural language processing technologies. There are some far reaching possibilities such as "routing technical queries to the appropriate documentation or discussion thread", using Open Collaboration Services.

Summary

If you would like to check out some of the Nepomuk features present in Mandriva Linux 2010 then their guide should get you up and running. Nepomuk is a whole new approach to managing information intelligently and the transformation of pure research into useful and robust tools obviously takes time. However, Nepomuk is already working behind the scenes in KDE software in ways you may have used without noticing and some advanced searching features are already available if you know how to use them. Stéphane, Sebastian and the wider KDE community will be working on integrating Nepomuk capabilities into applications in a more user-friendly and discoverable manner, now that the technological foundations are in place. A friendly Nepomuk based search interface is expected to debut with Dolphin in release 4.4 of the KDE Software Compilation and full browsing capabilities based on Nepomuk are aimed for inclusion in 4.5 in the form of faceted browsing. Wider integration of some of the other capabilities showcased in Mandriva Linux 2010 will follow.