The Complete Magazine on Open Source

Exploring Software: KDE’s Semantic Desktop

SHARE
, / 89 0

Nepomuk: Networked Environment for Personal, Ontology-based Management of Unified Knowledge

In this article, you will get an idea of the current state of the ambitious Nepomuk project. As part of KDE’s semantic desktop, it is currently evolving, though some parts are now useful. However, the utility will be far greater as more applications get integrated with Nepomuk.

There was a recent discussion on the Sugar mailing list about whether files need to die. It included a reference to this article. Computers need to understand the semantics of human language. There needs to be a new view of the data, so that you may search for it in ways that are more meaningful to you.

The first time I had tried desktop search was with Google desktop on a Windows machine. The machine did not even have enough disk space for the indexing, and I dropped the experiment. In any case, it would not have been very useful, as I was normally using Linux. There was a lot of excitement about Beagle on GNOME desktops. Again, on resource-constrained systems, it wasn’t worth the overhead, and I would disable it.

By contrast, my desktops were now running indexing servers, and I rarely became aware of them.

I normally use KDE these days, but do use GNOME as well. I was intrigued by processes like tracker-store and virtuoso-t. Most likely, I became aware of them just after an upgrade, as one or the other would consume a lot of CPU time. Both were related to desktop search. Tracker is an external dependency of the GNOME desktop. Virtuoso organises the metadata needed by KDE’s Nepomuk. This software was creating an index for my desktop without significant overhead. But which applications were using this data?

KDE Nepomuk

You can control the desktop search option in KDE’s System Settings. The primary options are whether to enable “Nepomuk Semantic Desktop” and “Strigi Desktop File Indexer”. Additional options allow you to control the memory used, and the directories you wish to index.

Dolphin, the default file manager for KDE, is integrated with Nepomuk and allows you to add metadata to the files by creating tags and associating them with files. You can also add comments to files. Using the tags is easy. Dolphin has options to filter results based on tags, in addition to filtering based on type and date of document. It can also filter files on ratings, which are commonly used in music players like Amarok. So, are Amarok ratings available in Dolphin? Sadly, not so far. Amarok is not integrated with Nepomuk yet, and uses its own database. Hopefully, the integration will happen soon!

Dolphin’s Find menu has options to search for file names and content. The latter relies upon Strigi’s indexing. Any comments you may have added to a file will also be searched if you use the Content option.

KRunner, a tool for finding and launching applications, is integrated with Nepomuk. Enable the Nepomuk Desktop Search plugin in KRunner, and it will find not just applications, but also files which may be relevant.

As you would have noticed, Nepomuk is integrated with Strigi for analysis and indexing, but the process name is virtuoso_t. Virtuoso is the backend storage server used by Nepomuk for the RDF data. It is now the default for Nepomuk.

Nepomuk uses the Strigi libraries, so don’t install the standalone Strigi package, which has its own indexing daemon and query tool but does not integrate with Nepomuk.

KDE Akonadi

The Akonadi server has a long history. It stores the data needed for personal information management (PIM), e.g., email addresses, chat contacts, email attachments, email contents, etc. PIM applications use Akonadi for handling personal information. The server stores/caches the data in a MySQL database, and also passes it to Nepomuk for analysis, indexing and storage of RDF data.

Integration of KDE’s PIM applications with the semantic desktop environment is in progress. For example, at the time of writing, KMail 2 was included with Arch Linux. Fedora 15 is staying with KDE PIM 4.4, waiting to make sure that the upgrade is stable and smooth. Both distributions use KDE 4.6.

It was very easy to create a KMail 2 account using Gmail’s IMAP settings. The IMAP data is cached by Akonadi. Installing the akonadi-googledata package made it possible to easily add the Gmail addressbook by just giving the email address and the password. Unlike earlier versions, KMail 2 relies on Akonadi for storing local messages as well. The database is maintained in $HOME/.local/share/akonadi.

Searching with KRunner will show email messages and contacts as well as files. At present, there does not seem to be an application to easily make complex queries using SPARQL. You can build and install nepomukshell. The possibilities of what can be done are illustrated in this blog post.

Will Nepomuk succeed?

When it does, you may be able to find a document by recalling that it was sent as an attachment by your boss, around the same time as you were planning a mountain trek.

What if cloud-based computing succeeds? The role of the desktop reduces. But even in that case, you may still use Nepomuk-like functionality, but provided by the cloud service.