Home / LinuxUser / 2010 / 04 / KDEs semantischer Desktop

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Daten mit Bedeutung

KDEs semantischer Desktop

Kreativ mit Plasma

Diese tiefgreifende Integration des semantischen Desktops erlaubt Ihnen auch etwas kreativere Möglichkeiten im Umgang mit ihren Dateien. Legen Sie sich doch mal ein Ordneransicht-Miniprogramm auf den Desktop und richten Sie es auf eine nepomuksearch:/-URL – oder gleich auf eine ihrer als Ort gespeicherten Suchanfragen (Abbildung 6).

Abbildung 6

Abbildung 6: Nepomuk bringt bei Bedarf über Plasmoiden die semantische Suche auch direkt auf die Desktopoberfläche.

In Plasma 4.4 griffen die KDE Entwickler nochmal in die Trickkiste und haben das Drag & Drop von Daten auf den Desktop erweitert. Schon in KDE 4.3 konnte man lokale Links auf den Desktop ziehen und dort ablegen, um damit ein Ordneransicht-Miniprogramm zu erstellen, oder eine Textdatei auf den Desktop legen, um einen Notizzettel mit dem Text der Datei zu erstellen. Dieser Mechanismus bietet eine sehr natürliche Umgangweise mit dem Desktop, da Sie nicht nachdenken müssen, welches Miniprogramm Sie gerade benutzen, sondern einfach Daten auf dem Desktop ablegen, wobei Plasma dazu ein passendes Miniprogramm erstellt.

Unter der Haube

Das Nepomuk-Framework in KDE bietet in erster Linie eine Programmierschnittstelle (API), die es Entwicklern erlaubt, bestimmte Einträge in der Nepomuk-Datenbank zu finden und neue Objekte anzulegen, um diese mit Metadaten zu bereichern. Diese Schnittstelle dient gleichzeitig als Abstraktionsschicht für Funktionen, die den semantischen Desktop ausmachen.

Intern abstrahiert die Nepomuk-API in KDE den Zugriff auf und das Suchen nach Metadaten. Über verschiedene Backends lässt sich dabei die Speichermethode kontrollieren oder auch komplett austauschen. Nepomuk benutzt dabei die Soprano-Bibliothek, die das Speicherinterface standardisiert und in einer für Qt-Entwickler bekannten Art anbietet. Darauf setzen auf höherem Niveau dann die Aufrufe und Manipulationen der Nepomuk-Datenbank auf, automatisiert von den Applikationen oder angestoßen durch Aktionen des Benutzers.

Einen interessanten Aspekt des semantischen Frameworks stellt die Desktopsuche dar. In der KDE-Softwaresammlung integriert sie sich in Nepomuk – bei den Index-Daten von Dateien handelt es sich schließlich auch um eine Art Metadaten, und gerade da soll Nepomuk ja eine Vereinheitlichung bieten. Die Indizierung übernimmt im KDE-Framework dabei die aus dem Strigi-Projekt stammende Libstreams.

Diese in C++ entwickelte Bibliothek bringt ein speicherfreundliches Indizierungstool mit, das durch seinen Aufbau auch in verschachtelten Dateien suchen kann. Speichert man also ein PDF-Dokument in einem ZIP-Container, indiziert Strigi sie genau so, als läge es ungepackt im Filesystem. Das erweist sich gerade für Dateien sehr hilfreich, die per E-Mail verschickt werden (mehr dazu später). Dieses "Eintauchen" in Dateien weicht gleichzeitig die Grenzen zwischen Dateiformaten zugunsten der Bedeutung von Daten auf – ein wichtiger Schritt.

Sehen Sie doch mithilfe des von Strigi mitgelieferten Kommandozeilenwerkzeugs xmlindexer einmal nach, welche Metadaten Strigi (und damit auch Nepomuk) so alles finden kann. Das kleine Programm scannt den Inhalt von Dateien und Ordnern und schreibt deren Metadaten im XML-Format heraus. Der Befehl xmlindexer meinphoto.jpg extrahiert so die bekannten Metadaten aus dem Photo und bindet diese an die Nepomuk-Ontologien.

Wie Sie in Listing 1 sehen, findet xmlindexer beim Indizieren des Photos viele nützliche Metadaten, den abstrakten Typ Photo, den zur Verarbeitung mit Programmen benötigten Datentyp image/jpeg, aber auch Einstellungen der Kamera, mit der das Foto geschossen wurde. Lassen sie xmlindexer ein ganzes Verzeichnis scannen, bekommen sie entsprechend mehrere file-Abschnitte mit darin enthaltenen Metadaten, sortiert nach Ontologien. Das Eintauchen in Daten können sie ausprobieren, indem sie xmlindexer auf eine ZIP-Datei loslassen: Die einzelnen Dateien im Archiv tauchen dann separat im XML-Resultat auf.

luna.sebas(~/Pictures)$ xmlindexer meinphoto.jpg
<?xml version='1.0' encoding='UTF-8'?>
<metadata>
[…]
 <file uri='meinphoto.jpg' mtime='1266193792'>
  <value name='http://www.semanticdesktop.org/ontologies/2007/01/19/nie#url'>meinphoto.jpg</value>
  <value name='http://www.w3.org/1999/02/22-rdf-syntax-ns#type'>http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#Photo</value>
[…]
  <value name='http://www.semanticdesktop.org/ontologies/2007/01/19/nie#mimeType'>image/jpeg</value>
  <value name='http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#isoSpeedRatings'>200</value>
  <value name='http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#orientation'>1</value>
  <value name='http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#flash'>16</value>
  <value name='http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#model'>Canon EOS 450D</value>
  <value name='http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#height'>4272</value>
  <value name='http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#width'>2848</value>
  <value name='http://www.semanticdesktop.org/ontologies/2007/01/19/nie#contentCreated'>2009:08:30 14:58:33</value>
[…]
 </file>
</metadata>

Ein separater Indizierungsdaemon setzt Soprano, Libstreams und die Nepomuk-Bibliothek im Rahmen des Plasma-Desktops ein, um auch tatsächlich Daten zu sammeln. Der Daemon stellt beim Start die Virtuoso-Datenbank bereit und sorgt für die Indizierung der Dateien auf dem Desktop. Der im Hintergrund laufende Nepomuk-Prozess tut dabei sein Möglichstes, um nicht aufzufallen, sondern seine Dienste weitgehend transparent zur Verfügung zu stellen. Meldet das System, dass der Benutzer gerade arbeitet, setzt er das CPU-intensive Indizieren der Daten auf der Festplatte aus. Auch im Batteriebetrieb wartet das System mit dem Erfassen möglicherweise geänderter Daten, damit die Akkulaufzeit nicht leidet.

Dabei kommt KDEs Hardware-Interface Solid zum Einsatz. Auf diese Art lässt sich plattformunabhängig bestimmen, ob die Maschine Strom sparen sollte, also eher auf die Festplatten- und Prozessorlast verzichten sollte, die der Indexlauf verursacht. Zudem arbeitet der Indexer nur im Hintergrund, solange der Anwender den Rechner gerade nicht benutzt, der PC also idle läuft. Stört der Indexer dennoch, setzen Sie ihn über das Kontextmenü des Nepomuk-Prozesses im Systemabschnitt zeitweise aus oder schalten die Indizierung über die Systemeinstellungen permanent ab.

Tip a friend    Druckansicht Bookmark and Share
Kommentare
Und die Praxis heute?
Hans-Dieter Schulze, Freitag, 12. März 2010 18:42:12
Ein/Ausklappen

Schade, dass im Artikel nicht auf die derzeitigen Probleme eingegangen wird.
Ich nutze die aktuelle KDE-Version 4.4.1.
Die Volltextindizierung funktioniert bei vielen PDF-Dokumenten nicht.
Der Indexer läuft fast permanent mit hoher CPU- und Speicherlast.
Obwohl sich in den meisten Verzeichnissen nichts ändert, werden diese neu indiziert und die Anzahl der indizierten Dateien schwankt zwichen 31000, 0 und 31000 .

Es gibt also noch viel zu tun.


Bewertung: 144 Punkte bei 10 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Hits
Wertung: 75 Punkte (5 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...