"I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computer", fasste der Urvater des World Wide Web, Tim Berners-Lee, 1999 seine Vorstellung von der Zukunft des Netzes zusammen. Gut zehn Jahre später ist von dieser Vision der semantischen, das heißt auf Bedeutung basierenden Struktur des Web noch nicht sehr viel zu sehen. Auch auf dem lokalen Computer beherrschen weiterhin traditionelle Dateisysteme die Oberfläche.
Die Datenmenge, mit der sich die Computerbenutzer konfrontiert sehen, steigt ständig. Klassische Dateisysteme bieten Daten in einer hierarchischen Struktur an und organisieren sie dazu in Ordnern. Dabei speichern sie Metadaten nur auf Dateiebene und oft nur individuell – man muss sie also für jede Datei einzeln abrufen. Diese Struktur trägt weder der Zusammengehörigkeit von Dateien Rechnung, noch dem Kontext, in dem die Daten für den Benutzer relevant sind.
Das von der Europäischen Gemeinschaft initiierte Forschungsprojekt Nepomuk [1] hat sich das Ziel gesetzt, die Daten des Benutzers zu vereinen. Dabei soll eine persönliche Datenquelle dem Datenwirrwarr Struktur verleihen, die auf Konzepten basiert, die für den Benutzer zugänglicher ausfallen. Zudem soll Nepomuk es ermöglichen, verschiedene Datenquellen (zum Beispiel Dateien) miteinander thematisch zu verlinken. Das soll den Daten des Benutzers wortwörtlich Bedeutung hinzufügen.
Im Rahmen des Nepomuk-Forschungsprojekts arbeiteten die Entwickler an einer ersten Implementation des semantischen Desktops innerhalb der KDE Software Compilation. Schon mit dem Release von KDE 4.0 kamen die Basics in der Entwicklungsplattform mit. Für den Benutzer war hier allerdings noch nicht sehr viel zu holen, da sich die Neuerungen zum größten Teil auf neue Funktionen in KDE's Entwickler-Kit beschränkten.
Metadaten
Beim semantischen Desktop geht um Metadaten, also solche Informationen, die der Datei angeheftet werden. Dabei kann es sich um einen Kommentar handeln, eine Bewertung oder ein Schlagwort. Metadaten beschränken sich allerdings nicht auf diese allgemeinen Attribute. Für ein digitales Photo umfassen sie zum Beispiel typischerweise auch Zeitpunkt und Auflösung der Aufnahme, die Belichtungszeit, die Blende und vieles mehr.
Solche Metadaten lassen sich nicht nur Dateien anheften, sondern auch anderen Artefakten, wie zum Beispiel URLs, Projekten, Personendaten, und so fort. Welche Arten Ressourcen es dazu gibt,legen die auf Freedesktop.org entwickelten Ontologien [2] in Form eines offenen Standards fest. Diese Ontologien definieren zum einen semantische Ressourcen und zum anderen, welche Metadaten für diese jeweils sinnvoll sind – Sie normalisieren also das Format verschiedener Ressourcen.
Ein interessanter Aspekt der Metadaten im Sinne des semantischen Desktops: Man kann auch Ressourcen selbst miteinander verbinden. So entsteht quasi ein semantisches Netz, das sich über die Informationen legt und den Zugriff darauf erlaubt.
Ontologien – was ist was?
Um mit Dokumenten auf der Abstraktionsebene des semantischen Desktops umgehen zu können, muss man sich auf bestimmte Definitionen einigen, um den Datenaustausch und die inhaltliche Verlinkung erst einmal möglich zu machen. Dazu legen die Nepomuk-Ontologien Konzepte wie Person, Nachricht und Aufgabe sowie deren Relationen fest.
Um eine Person abzubilden, gibt es in Nepomuk die NCO-Ontologie. Sie bildet nicht nur Adressbucheinträge ab, sondern unter anderem auch Gesprächspartner im Chat und Kontakte in sozialen Netzwerken. Mittlerweile verwenden auch andere Projekte die Nepomuk-Ontologien, wie zum Beispiel die Suchmaschine Tracker. Das erlaubt prinzipiell einen einfachen Datenaustausch zwischen diesen Programmen.
Inkrementelle Entwicklung
In den auf Version 4.0 folgenden Releases der KDE Software Compilation konnten Sie schrittweise verfolgen, wie Nepomuk sich weiterentwickelt und die KDE-Programme mehr und mehr von den Möglichkeiten profitieren, die Nepomuk bietet. So hielt vor rund einem Jahr mit KDE 4.2 beinahe unbemerkt ein Plugin für KRunner Einzug, also für Plasmas Mini-Kommandozeile. Es listete alle Dateien auf, die zu einem Suchbegriff gefunden wurden, sodass man auf einmal an den gewohnten Stellen erweiterte Funktionalität finden konnte.
Die Achillesferse der KDE-Implementation von Nepomuk [3] – und damit des semantischen Desktops in KDE – bildete jedoch die Performance. Nepomuk kümmert sich nicht selbst um das Speichern der Daten, sondern überlässt dies einer speziell dafür entwickelten Datenbank. KDE 4.3 lieferte dabei zwei Optionen mit: Redland und Sesame2.
Das in C++ geschriebene Redland zeigte sich dabei wenig leistungsfähig, was zu langen Suchanfragen führte und damit effektiv die Brauchbarkeit von Nepomuk in vielen Fällen stark beschnitt. Das Sesame2-Speicherbackend läuft zwar um Einiges schneller, erzielte aber trotzdem noch nicht die für viele Szenarios benötigte Performance. Außerdem verursachte es einige Kopfschmerzen beim Paketieren, da sich in der in Java geschriebenen Sesame2-Datenbank binäre Dateien mit unklarer Lizenz befanden.
Mit KDE SC 4.4 liefert das Team um Sebastian Trüg, dem KDE-Hauptentwickler von Nepomuk, jedoch ein neues, auf der RDF-Datenbank Virtuoso [4] basierendes Speicher-Backend mit. Virtuoso räumt die Probleme sowohl hinsichtlich der Lizenz und Paketierung als auch insbesondere der Performance weitgehend aus. Damit macht es den Weg frei, die Technologien rund um den semantischen Desktop weiter umzusetzen.



