Semantic Desktop with KDE

NEPOMUK-KDE is a sub-project of the Semantic-Desktop project Nepomuk which aims to provide a full implementation of the standards and APIs defined in Nepomuk on the KDE Desktop. As a sub-project of Nepomuk the two main issues are the maintenance and intensive usage of metadata throughout the desktop and powerful peer-to-peer collaboration techniques.

In the first phase of the NEPOMUK-KDE project the focus lies on the metadata part. There are basicly three kinds of metadata to be found on the desktop:

  • Metadata that can be found in files stored on the local harddisk like tag information in audio files, timestamps, or simple indexed text. This metadata can be extracted and indexed at any time and is exactly the type of information current desktop search projects like Beagle or Strigi are based on.
  • Metadata created manually by the user. In the most simple case this can be a comment to a file or an email. But it could also mean the grouping of several resources under one topic and so on.
  • The most interesting type of metadata is, however, the kind that cannot be extracted easily by an indexer and is not generated by the user manually. This includes for example the url of a file that is downloaded from the internet. Once saved on the local harddisk this information is lost. The same goes for the (rather popular) example of email attachments: Once an email attachment is saved to the local harddisk its connection to the email and with it the connection to the sender is lost. These are just two examples relating to the source of files. There are many more.

So far the following components have been developed:

  • Soprano is the RDF storage solution providing a powerful QT4-based API for all Nepomuk components.
  • libnepomuk is part of the kdelibs and provides a convenience library to access and modify metadata.
  • The Nepomuk Server is a KDED module shipped with kdebase which provides the main Nepomuk data repository including full text indexing and a Strigi backend.
  • The KDE subversion repository playground contains all current development activities such as advanced search and visualization of resources.