Nepomuk/de: Difference between revisions

From KDE UserBase Wiki
(Created page with '=== Ausprobieren === Beispielsweise benutzt Dolphin Nepomuk. Die Seitenleiste ermöglicht es dir, Tags zu vergeben, Dateien mit Bewertungen und Kommentare zu ver...')
(Updating to match new version of source page)
 
(70 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Nepomuk}}
<languages />  
<languages />  


{{Historic}}


<span id="Semantic_Search"></span>
<div class="mw-translate-fuzzy">
=Nepomuk=
=Nepomuk=
</div>


<div class="mw-translate-fuzzy">
Das Ziel dieser Seite ist es nicht, die Nepomuk-Technologie und jedes ihrer Details vollständig zu erklären, sondern einen kurzen Überblick, einige Beispiele zu geben und die Vision, die dahinter steht zu erklären, sowie weiterführende Links zu hilfreichen Informationen im Netz zu geben.
Das Ziel dieser Seite ist es nicht, die Nepomuk-Technologie und jedes ihrer Details vollständig zu erklären, sondern einen kurzen Überblick, einige Beispiele zu geben und die Vision, die dahinter steht zu erklären, sowie weiterführende Links zu hilfreichen Informationen im Netz zu geben.
</div>


== Baloo is the next generation of semantic search ==
From KDE Applications 4.13 onwards, the '[https://community.kde.org/Baloo Baloo]' file indexing and file search framework replaces Nepomuk. Read [http://dot.kde.org/2014/02/24/kdes-next-generation-semantic-search details on the changes for Applications 4.13 here]. Semantic Search no longer uses a single, big database, but separate, specialized databases for each type of data. The new search databases are in <tt>$HOME/.local/share/baloo</tt>. If you upgraded to KDE Applications 4.13 from an earlier KDE release, you can delete <tt>$KDEHOME/share/apps/nepomuk</tt>.
<span id="Short_explanation"></span>
==Kurze Erklärung==
==Kurze Erklärung==


Wie das [[Glossary/de#Nepomuk|Glossar]] sagt, geht es bei Nepomuk um Klassifikation, Organisation und Präsentation von Daten. Es ist ein bestimmtes Programm, sondern eine Komponente, die von Entwicklern innerhalb ihrer Programme genutzt werden kann.
<div class="mw-translate-fuzzy">
Wie das [[Special:myLanguage/Glossary#Nepomuk|Glossar]] sagt, geht es bei Nepomuk um Klassifikation, Organisation und Präsentation von Daten. Es ist ein bestimmtes Programm, sondern eine Komponente, die von Entwicklern innerhalb ihrer Programme genutzt werden kann.
</div>


<div class="mw-translate-fuzzy">
=== Ausprobieren ===
=== Ausprobieren ===
Beispielsweise benutzt [[Dolphin_(de)|Dolphin]] Nepomuk. Die Seitenleiste ermöglicht es dir, Tags zu vergeben, Dateien mit Bewertungen und Kommentare zu versehen. Diese Informationen werden in Nepomuk gespeichert. Du kannst dann nach Tags suchen, indem du das Suchfeld von Dolphin benutzt
Beispielsweise benutzt [[Special:myLanguage/Dolphin|Dolphin]] Nepomuk. Damit das folgende funktioniert muss Nepomuk und Strigi in <menuchoice>Systemeinstellungen -> Desktopsuche</menuchoice> aktiviert sein. Die Seitenleiste ermöglicht es dir, Tags zu vergeben, Dateien mit Bewertungen und Kommentare zu versehen. Diese Informationen werden in Nepomuk gespeichert und durch Strigi indiziert. Du kannst dann nach Tags suchen, indem du das Suchfeld von Dolphin benutzt. Schreibe dazu "nepomuksearch:/" gefolgt von den Suchbegriffen.
</div>
 
<!-- info about nepomuksearch:/ deleted per its developer: "Actually nepomuksearch:/ is an internal thing and should not be entered by the user." its developer -->
 
 
<span id="Functionalities"></span>
==Funktionalitäten==
 
<div class="mw-translate-fuzzy">
Nepomuk bietet Applikationen verschiedene Funktionsebenen an. Die einfachste und einfachste ist manuelles Taggen, Bewerten und Kommentieren, wie es in Dolphin benutzt wird. Es hilft dir, deine Dateien schneller zu finden, ist aber auch eine Menge Arbeit.
</div>
 
<div class="mw-translate-fuzzy">
Um Textdateien einfacher auffindbar zu machen, bietet Nepomuk eine zweite Funktionalität an: Indizierung des Inhaltes von Dateien. Es benutzt dazu eine Technologie namens [[Special:myLanguage/Glossary#Strigi|Strigi]]. Du kannst dadurch Dateien auch finden, indem du nach einzelnen Wörtern suchst, die in der Datei vorkommen, oder nur nach (einem Teil) des Titels.
</div>
 
<div class="mw-translate-fuzzy">
Die dritte Ebene ist sehr komplex, und der Grund, warum Nepomuk als Forschungsprojekt einiger Firmen und Universitäten der Europäischen Union entworfen wurde. Hier findest du schwierige Begriffe wie "semantischer Desktop" oder "Ontologien". Prinzipiell geht es um Kontext und Verwandtschaften.
</div>
 
=== Indexing files ===
 
Search does not index every file on the hard drive. Its default configuration in most Linux distributions excludes some common patterns for backup files and configuration directories. You can change this in <menuchoice>System Settings -> Desktop Search</menuchoice>. Add folders to be excluded. If you want to turn off indexing of files entirely, just add your home folder there.
 
In '''System Settings''' you can also control whether Search indexes files on removable media such as USB drives and CD-ROMs. In KDE Applications 4.13 this is not available, removable media are not indexed. Future versions are planned to reintroduce this functionality.
 
<span id="Examples"></span>
==Beispiele==
 
<div class="mw-translate-fuzzy">
Lass mich versuchen, anhand von zwei Beispielen zu erklären, was Nepomuk anbietet.
</div>
 
<span id="Relationship"></span>
===Verwandtschaft===
 
Angenommen, du hast von einem Freund vor zwei Wochen ein Foto bekommen. Du hast es irgendwo auf deinem Rechner gespeichert. Wie findest du nun diese Datei? Wenn du dich nicht an den Ort erinnerst, hast du Pech.
 
<div class="mw-translate-fuzzy">
Nepomuk will dir dabei helfen. Du weißt, dass diese Datei von eben jenem Freund kam, dein Rechner weiß dies jedoch nicht. Nepomuk aber kann sich an diesen Zusammenhang erinnern. In dem du nach dem Namen deines Freundes suchst, wird das Bild also erscheinen!
</div>


==Functionalities==
<div class="mw-translate-fuzzy">
Eine weitere mögliche Verwandtschaft gibt es zwischen einer Internetseite, von der du Text kopiert hast und dem Dokument, in das du es eingefügt hast, oder zwischen zwei Bildern, die dasselbe Auto zeigen. Solche Relationen können manchmal aus den Dateien selber gezogen werden (man könnte Fotos analysieren und schauen, wer oder was darauf zu sehen ist) oder von den benutzten Programmen bereitgestellt werden (wie im obigen E-Mail-Beispiel). Dieser Teil Nepomuks befindet sich immer noch in der Entwicklungsphase und benötigt die Integration in Programmen, so dass man noch einige Jahre warten muss, bis es wirklich funktioniert.
</div>


Nepomuk offers several 'layers' of functionality to applications. The first and most simple of those is manual tagging, rating and commenting, as used in Dolphin. This helps you to find your files faster, but is also a lot of work.
<div class="mw-translate-fuzzy">
Alles in allem geht es in diesem Teil Nepomuks darum, die Suche zu verbessern. Man denke nur daran, wie Google versucht, Suchanfragen intelligent zu verarbeiten. Wenn man ein Hotel und einen Städtenamen sucht, zeigt die Ergebnisseite einen Stadtplan, der Hotels in der angefragten Stadt anzeigt. Es wird sogar die korrekte Schreibweise angeboten, falls man sich vertippt hat. Google versucht auch, die relevantesten Informationen an den Anfang der Liste zu setzen. Nepomuk wird solche intelligenten Ergebnisse bieten und sie nach Relevanz sortieren können, indem diese Verwandtschaftsinformationen benutzt werden.
</div>


To make finding files containing text easier, Nepomuk offers a second functionality: indexing the text of files. It uses a technology called [[Glossary#Strigi|Strigi]] for this. You can now also find files by entering some words which you know are in there, or just (part of) their title.
<span id="Context"></span>
===Kontext===


The third layer is a very complex one, and the reason why Nepomuk was conceived as a research project of several companies and universities in the European union. This is where you will find difficult words like 'semantic desktop' and 'ontologies'. Basically, it is about context and relationships.
<div class="mw-translate-fuzzy">
Diese Relationen können nicht nur helfen, wenn man nach Dateien sucht, sondern können auch einen Einfluss auf Programme haben und welche Informationen sie darstellen. Denke daran, dass dieser Teil Nepomuks noch eher eine Vision als Realität ist. Viele Komponenten existieren bereits, sind aber noch nicht in den Programmen und den Desktop insgesamt integriert.
</div>


==Examples==
Es folgt ein Beispiel, das dir durch den Kontext hilft, effizienter zu arbeiten.


Let me try to explain what Nepomuk offers using two examples.
Angenommen, du arbeitest an der Nachbearbeitung einiger Notizen, die du in einer Besprechung geschrieben hast. Das Telefon klingelt und jemand fragt dich nach einer Datei mit Preisen, und ob du sie für einen Kunden bearbeiten könntest. Nach ein paar weiteren Unterbrechungen ist dein Desktop voller Dateien und Fenster...


===Relationship===
Es wäre schön, das alles ein wenig besser zu organisieren, oder?


Say you received a photo from a friend of yours, 2 weeks ago. You saved it somewhere on your computer. Now how to you find that file? If you don't remember the location, you're out of luck.
<div class="mw-translate-fuzzy">
Schau dir '[[Special:myLanguage/Glossary#Activities|Aktivitäten]]' an. Diese wurden in [[Plasma_(de)|Plasma]] eingeführt, und bieten derzeit verschiedene 'Desktops' an. Sie ähneln teils den virtuellen Desktops, außer, dass sich der Desktop selber ändert, nicht die geöffneten Programme. Verschiedene Widgets, ein anderer Hintergrund, und ähnliche Dinge. Natürlich kann seit KDE 4.3 jeder virtuelle Desktop seine eigene Aktivität haben, indem beide miteinander abgeglichen werden.
</div>


Now Nepomuk aims to help you. You know this file came from that friend of yours, your computer does not. Nepomuk, however, can remember this relationship. Searching on the name of your friend will therefor pop up the photo!
Wenn Applikationen und der Desktop sich der Aktivitäten bewusst wären, könnte man eine Aktivität für jede Aufgabe erstellen, an der man regelmäßig arbeitet. Wenn man also oft eine Tabellenkalkulation mit Preisen editieren muss, erstellt man hierfür eine Aktivität: einen oder mehrere Folder View-Widgets auf dem Desktop erstellen, einen Taschenrechner hinzufügen und ein Aufgaben-Widget, um das im Auge zu behalten, was man noch bearbeiten muss. Vielleicht sogar ein E-Mail-Widget, das die E-Mails anzeigt, die Fragen zu diesen Preislisten beinhalten.


Another potential relationship is between a web page you copied text from and the document you pasted it into, or two images showing the same car. Such relations can sometimes be extracted from the files themselves (you could analyze photos and see who or what is on there) or supplied by the applications involved (as in the above email example). This part of Nepomuk is still under heavy development, and needs integration in applications, so you can expect it to take a few more years to really shine.
Sobald jemand eine Frage zu diesen Preisen stellt, wechselt man zu dieser Aktivität, und startet das Tabellenkalkulationsprogramm. Dieses hat ebenfalls Zugriff auf die Aktivität, und zeigt dir die aktuellsten Preislisten, und nicht die Inventurliste aus einer anderen Aktivität. [[Special:myLanguage/Kopete|Kopete]], das Chat-Programm zeigt den Kollegen an, der alles über Preise weiß, und die Person ist, mit der man immer chattet, wenn man in dieser Aktivität arbeitet.


All in all, this part of Nepomuk is about making search smart. Think about how Google tries to be smart with your searches: when you search for a hotel and a city name, it shows above the website results a google map showing hotels in the city you mentioned! It might even suggest a better name in case you made a spelling mistake. Google also tries to put the most relevant information on top of the list of results, using complex calculations on relationships (links) between websites. Nepomuk will be able to offer such smart results and order them on relevancy using relationship information.
Wenn man fertig ist, wechsele zurück in eine andere Aktivität, und alle Programme passen ihr Verhalten wiederum dem an, was man tut.


===Context===
Die Vorzüge eines solchen aktivitätsbasierten Arbeitsprozesses gehen weiter als man auf den ersten Blick meinen könnte. Es hilft nicht nur dabei, Dateien und Kontaktpersonen zu finden, aber hilft auch, die Aufgabe selber zu wechseln. Das menschliche Gehirn ist nicht sonderlich gut darin, mehrere Dinge gleichzeitig zu machen - die meisten Menschen brauchen mehrere Minuten, um nach einem Aufgabenwechsel wieder Fahrt aufzunehmen. Die 'Umgebung' zu ändern, hilft eine Menge dabei, dieses zu beschleunigen, selbst wenn es sich nur um den Bildschirm handelt. Man vergleiche es damit, in Urlaubslaune zu kommen, indem man lediglich einen Koffer packt.


These relationships can not only help you while searching for files, but also have an influence on applications and what information they present. Note that this way of using Nepomuk is still more a vision than reality! Many of the components are in place, but it is not yet integrated in applications and the desktop as a whole.
Natürlich ist all das eher relevant für Leute, die im Büro oder zu Hause an ihrem Rechner arbeiten. Für Spieler oder nur gelegentliche Benutzer würden solche Aktivitäten wahrscheinlich nicht sehr hilfreich sein.


So here an example of bringing context awareness to your desktop could help you work more efficiently.
<div class="mw-translate-fuzzy">
Bedenke, dass das oben beschriebene Szenario noch Jahre in der Zukunft liegt. Ein großer Teil der Infrastruktur dafür existiert in KDE bereits, vieles bleibt jedoch noch zu tun.
</div>


Say you are working on finishing some notes you took in a meeting. The phone rings, and somebody asks you to find that spreadsheet with prices, adjust it for a customer. After a few more interruptions you find your desktop full of files and windows...
==Frequently Asked Questions==


It'd be nice to be able to organize all that a bit better, right?
The following is taken from a [http://forum.kde.org/viewtopic.php?f=154&t=97098&p=204592 KDE forums] post. Please feel free to add/remove/modify details if you have the time!


Enter '[[Glossary#Activities|activities]]'. These have been introduced in [[Plasma]], and currently offer different 'desktops'. They are a bit like virtual desktops, except that the desktop itself changes, not the set of applications. Different widgets, background, things like that. Of course, since KDE 4.3, each virtual desktop can have it's own activity, bringing the two in sync.
;What is the Nepomuk Semantic Desktop, and the Strigi Desktop File Indexer?


If applications and desktop were aware of activities, you could create an activity for each of the tasks you regularly work on. So if you often have to change a spreadsheet with prices, you create an activity for that: put a Folder View (or several) widget on the desktop, add a calculator and a todo-widget to keep track of what you still have to change. Maybe even an email folder widget showing the mails with questions regarding these prices spreadsheets!
: Nepomuk and Strigi are technologies part of what delivers the abilities of the Semantic Search in KDE. Both are not used directly in the latest generation of KDE's Semantic Search ([http://dot.kde.org/2014/02/24/kdes-next-generation-semantic-search details]), however their successors share much of their code and concepts. Semantic Search provides a way to organize, annotate and build relationships among the data (not only file name and content, but for example which applications used a certain file, or how it is tagged). A number of KDE applications and workspaces use this basic infrastructure to deliver features such as email tagging ([[Special:myLanguage/KMail|KMail]]) or activity setup (Plasma).  


As soon as somebody asks a question about prices, you switch to this activity. Fire up your spreadsheet application. It is aware of your activity so it shows recent price spreadsheets, not the recent list of inventory you were working on in another activity! [[Kopete]], the chat application shows your colleague who knows all about prices, as she is the person you always chat with when working on this activity.
:The file indexing allows applications such as [[Special:myLanguage/Dolphin|Dolphin]] to search for files based on content, name, or other meta-data (e.g. tags) associated to indexed files. Such an indexer can also index non-text files, such as PDFs, by accessing the meta-data contained in these files (author, publication information, etc.). Some KDE components ship additional "analyzers" for more file types.


When you are finished, you go back to another activity, and once again all applications adjust their behavior to fit what you are doing.
; Why do we need both Akonadi and Semantic Search?  Aren't they doing the same thing?


The benefits of such an activity-based work flow go further than you might at first expect. It not only helps you find files and contact persons, but also helps in switching tasks itself. The human brain isn't very good at multi-tasking - it takes most people several minutes to get up to speed after switching tasks. Changing the 'environment' helps a lot in speeding this up, even if it's just on the screen. Compare it with getting in the mood for your holiday by packing your bag!
: In short, Akonadi provides a cache of PIM data like calendar items, contacts and email, which is used by applications like KMail and Korganizer but also the calendar build in Plasma. Semantic Search plugs in Akonadi to provide search functionality. How Baloo offers search is actually up to the application. In case of KDE PIM, Xapian is used to provide indexing and search.


Of course, the above is mostly relevant to people working behind their computer in the office or at home. A gamer or a casual user would probably not use these activities much.
;How can I disable the semantic desktop?


Note that the scenario described above is still years away from reality. Much of the basic infrastructure for this in KDE is in place but much is still left.
: File indexing can be disabled by adding the users' home folder to the <menuchoice>System Settings -> Desktop Search -> Do not search in these locations list</menuchoice>. The other functionality is part of the applications that use it and thus can't be disabled without crippling these applications. For example, to not have any search in KMail you'll have to simply remove KMail...


==Sharing and privacy==
In versions of the KDE Applications before 4.13, Semantic Search would have components running separate from applications. This functionality could be disabled by unchecking <menuchoice>Enable Nepomuk File Indexer</menuchoice> in the [[Special:myLanguage/System_Settings/Search_Desktop|Desktop Search]] section of [[Special:myLanguage/System Settings|System Settings]]. In case you want to turn off all semantic features, uncheck <menuchoice>Enable Nepomuk Semantic Desktop</menuchoice>. Notice that this will turn off search in [[Special:myLanguage/Dolphin|Dolphin]] as well.
There is one thing I need to touch on before pointing to other sources of information: sharing Nepomuk data. It'd be great if your tags, ratings and comments would be shared with others when you send them files. However, if you tagged a contact with a slightly embarrassing tag ('boring in bed') and send that persons contact information to a mutual friend you probably don't want that tag to be send as well... This issue is of course being considered and an important subject of research by the Nepomuk researchers. For the time being, these privacy concerns, combined with technical challenges, are the reason Nepomuk context is private. Rest assured the Nepomuk team does all it can to make sure your privacy is respected.


:Notice that with the latter option some programs who use Semantic Search for meta-data will offer reduced functionality: for example [[Special:myLanguage/KMail|KMail]] will not be able to tag mail, or Plasma activities will not offer additional features such as icons, or program data information.


:''More info'':
;Baloo/Semantic Search is eating 100% CPU! What do I do?
::[http://en.wikipedia.org/wiki/Semantic_desktop Wikipedia - Semantic Desktop]  
 
::[http://en.wikipedia.org/wiki/NEPOMUK_(framework) Wikipedia - NEPOMUK Framework]  
:Just wait. Certain files are very hard or even impossible to Index. At the moment, this includes for example text files of over 50 megabyte. When Search finds these, it will try for a fixed time. When it fails, it will try to find out what file is broken and disable indexing it in the future. As it indexes files in batches of about 40, it has to find the problematic file by indexing that bunch in parts: first half/second half, index problematic half in pieces again, until the file is found. This can take up to 30 minutes of heavy cpu usage. Unfortunately, while Baloo will not start to index a new batch of 40 files while on battery power, it continues to determine the broken file while on battery. This behaviour has been fixed in in KDE Applications 4.13.1 (it will stop indexing immediately when the power cord is unplugged) and the time the search for each file can take has been reduced to about 10 minutes. The Semantic Search team is working on improving the indexing tools to handle more difficult files.
 
;Why do I have nepomukservicestub processes even though I've disabled Nepomuk?
 
:It may be a bug. Please file a [http://bugs.kde.org bug report] with a complete description of your problem and the steps to trigger it.
 
;File indexing of PDF/some other file types doesn't work.
 
:PDF indexing is a known issue and it's being tracked in {{bug|231936}}. If you have issues with other files, open a bug, preferably adding a sample file that shows the problem.
 
;The program nepomukservicestub crashes at startup.
 
:A large number of fixes for crashes has been fixed for the 4.7.2 release of the KDE Workspaces and Applications. If you encounter more, please file bugs report with detailed instructions on how to reproduce the problem, as sometimes the developers are unable to trigger them in their test setups.
 
;The virtuoso-t process hangs at 100% CPU.
 
:Virtuoso-t is a key component of the old Semantic Search infrastructure and in some occasions the commands sent by the other components end up taking too much time (hence showing the effect of 100% CPU).
 
Virtuoso is no longer used by Semantic Search starting the Applications 4.13 release.
 
;Sometimes Nepomuk consumes too much RAM.
 
:Many of these problems have been fixed, in other cases however the developers are unable to reproduce the issues correctly. In this case, providing examples and test cases to [http://bugs.kde.org/ bug reports] increase the chances to get these bugs fixed.
 
;Search accesses the disk too much on startup.:
 
:A throttling mechanism implemented in the file indexer, versions after KDE SC 4.8 should no longer have this issue.
 
;My Search database has been corrupted. How do I clean it?
 
:In the extreme case your database is really corrupted and all other attempts have failed, you can delete the <tt>$KDEHOME/share/apps/nepomuk</tt> directory (where <tt>$KDEHOME</tt> is usually <tt>.kde</tt> or <tt>.kde4</tt> in your home directory) while Nepomuk is not running. The database will be cleared, but you will also lose existing information such as tags, ratings and comments.
 
== Advanced troubleshooting ==
 
<span id="Sharing_and_privacy"></span>
==Veröffentlichen und Privatsphäre==
 
Eine Sache muss ich noch erwähnen, bevor ich auf andere Informationsquellen hinweise: das Veröffentlichen von Nepomukdaten. Es wäre von Vorteil, wenn man Tags, Bewertungen und Kommentare mit anderen teilen könnte, wenn man ihnen Dateien sendet. Wenn man jedoch eine Kontaktperson mit mehr oder weniger beleidigenden Tags ("langweilig im Bett") belegt hätte, würde man wahrscheinlich nicht wollen, dass dieser Tag mit versendet würde...
 
Dieser Umstand wird natürlich bedacht  und ist ein wichtiger Aspekt in der Forschung um Nepomuk. Zur Zeit ist diese Privatsphäre zusammen mit den technischen Herausforderungen der Grund, dass Nepomukdaten privat sind. Es sei versichert, dass das Nepomukteam alles erdenkliche tut, damit deine Privatsphäre respektiert wird.
 
<span id="External_links"></span>
<div class="mw-translate-fuzzy">
:''Mehr Informationen'':
::[http://de.wikipedia.org/wiki/Semantischer_Desktop Wikipedia - Semantischer Desktop]  
::[http://de.wikipedia.org/wiki/NEPOMUK_%28Framework%29 Wikipedia - NEPOMUK Framework]
::[http://nepomuk.semanticdesktop.org/xwiki/bin/view/Main1/ NEPOMUK website]
::[http://nepomuk.semanticdesktop.org/xwiki/bin/view/Main1/ NEPOMUK website]
::[http://nepomuk.kde.org/discover/user NEPOMUK KDE site]
::[http://nepomuk.kde.org/discover/user NEPOMUK KDE site]
::[http://dot.kde.org/2009/12/10/exploring-new-nepomuk-features-mandriva-linux-2010 article explaining Nepomuk on the DOT]
::[http://dot.kde.org/2009/12/10/exploring-new-nepomuk-features-mandriva-linux-2010 article explaining Nepomuk on the DOT]
</div>
The new Search technology (post KDE Applications 4.13):
* [http://dot.kde.org/2014/02/24/kdes-next-generation-semantic-search user information article on the dot]
* [http://community.kde.org/Baloo Developer information on community.kde.org]
* [http://en.wikipedia.org/wiki/Semantic_desktop Wikipedia - Semantic Desktop]
The old Search technology:
* [http://techbase.kde.org/Projects/Nepomuk Nepomuk pages for developers on KDE TechBase]
* [http://nepomuk.kde.org/discover/user NEPOMUK KDE site]
* [http://en.wikipedia.org/wiki/NEPOMUK_(framework)  Wikipedia - NEPOMUK Framework]
* [http://nepomuk.semanticdesktop.org/nepomuk/ NEPOMUK website]
* [http://dot.kde.org/2009/12/10/exploring-new-nepomuk-features-mandriva-linux-2010 article explaining Nepomuk on the DOT]
* [http://kdenepomukmanual.wordpress.com Getting started user manual]


[[Category:System]]
[[Category:System/de]]

Latest revision as of 04:20, 19 May 2024

Historic page

This page is of historic interest only. The content of the page is obsolete.


Nepomuk

Das Ziel dieser Seite ist es nicht, die Nepomuk-Technologie und jedes ihrer Details vollständig zu erklären, sondern einen kurzen Überblick, einige Beispiele zu geben und die Vision, die dahinter steht zu erklären, sowie weiterführende Links zu hilfreichen Informationen im Netz zu geben.

Baloo is the next generation of semantic search

From KDE Applications 4.13 onwards, the 'Baloo' file indexing and file search framework replaces Nepomuk. Read details on the changes for Applications 4.13 here. Semantic Search no longer uses a single, big database, but separate, specialized databases for each type of data. The new search databases are in $HOME/.local/share/baloo. If you upgraded to KDE Applications 4.13 from an earlier KDE release, you can delete $KDEHOME/share/apps/nepomuk.

Kurze Erklärung

Wie das Glossar sagt, geht es bei Nepomuk um Klassifikation, Organisation und Präsentation von Daten. Es ist ein bestimmtes Programm, sondern eine Komponente, die von Entwicklern innerhalb ihrer Programme genutzt werden kann.

Ausprobieren

Beispielsweise benutzt Dolphin Nepomuk. Damit das folgende funktioniert muss Nepomuk und Strigi in Systemeinstellungen -> Desktopsuche aktiviert sein. Die Seitenleiste ermöglicht es dir, Tags zu vergeben, Dateien mit Bewertungen und Kommentare zu versehen. Diese Informationen werden in Nepomuk gespeichert und durch Strigi indiziert. Du kannst dann nach Tags suchen, indem du das Suchfeld von Dolphin benutzt. Schreibe dazu "nepomuksearch:/" gefolgt von den Suchbegriffen.


Funktionalitäten

Nepomuk bietet Applikationen verschiedene Funktionsebenen an. Die einfachste und einfachste ist manuelles Taggen, Bewerten und Kommentieren, wie es in Dolphin benutzt wird. Es hilft dir, deine Dateien schneller zu finden, ist aber auch eine Menge Arbeit.

Um Textdateien einfacher auffindbar zu machen, bietet Nepomuk eine zweite Funktionalität an: Indizierung des Inhaltes von Dateien. Es benutzt dazu eine Technologie namens Strigi. Du kannst dadurch Dateien auch finden, indem du nach einzelnen Wörtern suchst, die in der Datei vorkommen, oder nur nach (einem Teil) des Titels.

Die dritte Ebene ist sehr komplex, und der Grund, warum Nepomuk als Forschungsprojekt einiger Firmen und Universitäten der Europäischen Union entworfen wurde. Hier findest du schwierige Begriffe wie "semantischer Desktop" oder "Ontologien". Prinzipiell geht es um Kontext und Verwandtschaften.

Indexing files

Search does not index every file on the hard drive. Its default configuration in most Linux distributions excludes some common patterns for backup files and configuration directories. You can change this in System Settings -> Desktop Search. Add folders to be excluded. If you want to turn off indexing of files entirely, just add your home folder there.

In System Settings you can also control whether Search indexes files on removable media such as USB drives and CD-ROMs. In KDE Applications 4.13 this is not available, removable media are not indexed. Future versions are planned to reintroduce this functionality.

Beispiele

Lass mich versuchen, anhand von zwei Beispielen zu erklären, was Nepomuk anbietet.

Verwandtschaft

Angenommen, du hast von einem Freund vor zwei Wochen ein Foto bekommen. Du hast es irgendwo auf deinem Rechner gespeichert. Wie findest du nun diese Datei? Wenn du dich nicht an den Ort erinnerst, hast du Pech.

Nepomuk will dir dabei helfen. Du weißt, dass diese Datei von eben jenem Freund kam, dein Rechner weiß dies jedoch nicht. Nepomuk aber kann sich an diesen Zusammenhang erinnern. In dem du nach dem Namen deines Freundes suchst, wird das Bild also erscheinen!

Eine weitere mögliche Verwandtschaft gibt es zwischen einer Internetseite, von der du Text kopiert hast und dem Dokument, in das du es eingefügt hast, oder zwischen zwei Bildern, die dasselbe Auto zeigen. Solche Relationen können manchmal aus den Dateien selber gezogen werden (man könnte Fotos analysieren und schauen, wer oder was darauf zu sehen ist) oder von den benutzten Programmen bereitgestellt werden (wie im obigen E-Mail-Beispiel). Dieser Teil Nepomuks befindet sich immer noch in der Entwicklungsphase und benötigt die Integration in Programmen, so dass man noch einige Jahre warten muss, bis es wirklich funktioniert.

Alles in allem geht es in diesem Teil Nepomuks darum, die Suche zu verbessern. Man denke nur daran, wie Google versucht, Suchanfragen intelligent zu verarbeiten. Wenn man ein Hotel und einen Städtenamen sucht, zeigt die Ergebnisseite einen Stadtplan, der Hotels in der angefragten Stadt anzeigt. Es wird sogar die korrekte Schreibweise angeboten, falls man sich vertippt hat. Google versucht auch, die relevantesten Informationen an den Anfang der Liste zu setzen. Nepomuk wird solche intelligenten Ergebnisse bieten und sie nach Relevanz sortieren können, indem diese Verwandtschaftsinformationen benutzt werden.

Kontext

Diese Relationen können nicht nur helfen, wenn man nach Dateien sucht, sondern können auch einen Einfluss auf Programme haben und welche Informationen sie darstellen. Denke daran, dass dieser Teil Nepomuks noch eher eine Vision als Realität ist. Viele Komponenten existieren bereits, sind aber noch nicht in den Programmen und den Desktop insgesamt integriert.

Es folgt ein Beispiel, das dir durch den Kontext hilft, effizienter zu arbeiten.

Angenommen, du arbeitest an der Nachbearbeitung einiger Notizen, die du in einer Besprechung geschrieben hast. Das Telefon klingelt und jemand fragt dich nach einer Datei mit Preisen, und ob du sie für einen Kunden bearbeiten könntest. Nach ein paar weiteren Unterbrechungen ist dein Desktop voller Dateien und Fenster...

Es wäre schön, das alles ein wenig besser zu organisieren, oder?

Schau dir 'Aktivitäten' an. Diese wurden in Plasma eingeführt, und bieten derzeit verschiedene 'Desktops' an. Sie ähneln teils den virtuellen Desktops, außer, dass sich der Desktop selber ändert, nicht die geöffneten Programme. Verschiedene Widgets, ein anderer Hintergrund, und ähnliche Dinge. Natürlich kann seit KDE 4.3 jeder virtuelle Desktop seine eigene Aktivität haben, indem beide miteinander abgeglichen werden.

Wenn Applikationen und der Desktop sich der Aktivitäten bewusst wären, könnte man eine Aktivität für jede Aufgabe erstellen, an der man regelmäßig arbeitet. Wenn man also oft eine Tabellenkalkulation mit Preisen editieren muss, erstellt man hierfür eine Aktivität: einen oder mehrere Folder View-Widgets auf dem Desktop erstellen, einen Taschenrechner hinzufügen und ein Aufgaben-Widget, um das im Auge zu behalten, was man noch bearbeiten muss. Vielleicht sogar ein E-Mail-Widget, das die E-Mails anzeigt, die Fragen zu diesen Preislisten beinhalten.

Sobald jemand eine Frage zu diesen Preisen stellt, wechselt man zu dieser Aktivität, und startet das Tabellenkalkulationsprogramm. Dieses hat ebenfalls Zugriff auf die Aktivität, und zeigt dir die aktuellsten Preislisten, und nicht die Inventurliste aus einer anderen Aktivität. Kopete, das Chat-Programm zeigt den Kollegen an, der alles über Preise weiß, und die Person ist, mit der man immer chattet, wenn man in dieser Aktivität arbeitet.

Wenn man fertig ist, wechsele zurück in eine andere Aktivität, und alle Programme passen ihr Verhalten wiederum dem an, was man tut.

Die Vorzüge eines solchen aktivitätsbasierten Arbeitsprozesses gehen weiter als man auf den ersten Blick meinen könnte. Es hilft nicht nur dabei, Dateien und Kontaktpersonen zu finden, aber hilft auch, die Aufgabe selber zu wechseln. Das menschliche Gehirn ist nicht sonderlich gut darin, mehrere Dinge gleichzeitig zu machen - die meisten Menschen brauchen mehrere Minuten, um nach einem Aufgabenwechsel wieder Fahrt aufzunehmen. Die 'Umgebung' zu ändern, hilft eine Menge dabei, dieses zu beschleunigen, selbst wenn es sich nur um den Bildschirm handelt. Man vergleiche es damit, in Urlaubslaune zu kommen, indem man lediglich einen Koffer packt.

Natürlich ist all das eher relevant für Leute, die im Büro oder zu Hause an ihrem Rechner arbeiten. Für Spieler oder nur gelegentliche Benutzer würden solche Aktivitäten wahrscheinlich nicht sehr hilfreich sein.

Bedenke, dass das oben beschriebene Szenario noch Jahre in der Zukunft liegt. Ein großer Teil der Infrastruktur dafür existiert in KDE bereits, vieles bleibt jedoch noch zu tun.

Frequently Asked Questions

The following is taken from a KDE forums post. Please feel free to add/remove/modify details if you have the time!

What is the Nepomuk Semantic Desktop, and the Strigi Desktop File Indexer?
Nepomuk and Strigi are technologies part of what delivers the abilities of the Semantic Search in KDE. Both are not used directly in the latest generation of KDE's Semantic Search (details), however their successors share much of their code and concepts. Semantic Search provides a way to organize, annotate and build relationships among the data (not only file name and content, but for example which applications used a certain file, or how it is tagged). A number of KDE applications and workspaces use this basic infrastructure to deliver features such as email tagging (KMail) or activity setup (Plasma).
The file indexing allows applications such as Dolphin to search for files based on content, name, or other meta-data (e.g. tags) associated to indexed files. Such an indexer can also index non-text files, such as PDFs, by accessing the meta-data contained in these files (author, publication information, etc.). Some KDE components ship additional "analyzers" for more file types.
Why do we need both Akonadi and Semantic Search? Aren't they doing the same thing?
In short, Akonadi provides a cache of PIM data like calendar items, contacts and email, which is used by applications like KMail and Korganizer but also the calendar build in Plasma. Semantic Search plugs in Akonadi to provide search functionality. How Baloo offers search is actually up to the application. In case of KDE PIM, Xapian is used to provide indexing and search.
How can I disable the semantic desktop?
File indexing can be disabled by adding the users' home folder to the System Settings -> Desktop Search -> Do not search in these locations list. The other functionality is part of the applications that use it and thus can't be disabled without crippling these applications. For example, to not have any search in KMail you'll have to simply remove KMail...

In versions of the KDE Applications before 4.13, Semantic Search would have components running separate from applications. This functionality could be disabled by unchecking Enable Nepomuk File Indexer in the Desktop Search section of System Settings. In case you want to turn off all semantic features, uncheck Enable Nepomuk Semantic Desktop. Notice that this will turn off search in Dolphin as well.

Notice that with the latter option some programs who use Semantic Search for meta-data will offer reduced functionality: for example KMail will not be able to tag mail, or Plasma activities will not offer additional features such as icons, or program data information.
Baloo/Semantic Search is eating 100% CPU! What do I do?
Just wait. Certain files are very hard or even impossible to Index. At the moment, this includes for example text files of over 50 megabyte. When Search finds these, it will try for a fixed time. When it fails, it will try to find out what file is broken and disable indexing it in the future. As it indexes files in batches of about 40, it has to find the problematic file by indexing that bunch in parts: first half/second half, index problematic half in pieces again, until the file is found. This can take up to 30 minutes of heavy cpu usage. Unfortunately, while Baloo will not start to index a new batch of 40 files while on battery power, it continues to determine the broken file while on battery. This behaviour has been fixed in in KDE Applications 4.13.1 (it will stop indexing immediately when the power cord is unplugged) and the time the search for each file can take has been reduced to about 10 minutes. The Semantic Search team is working on improving the indexing tools to handle more difficult files.
Why do I have nepomukservicestub processes even though I've disabled Nepomuk?
It may be a bug. Please file a bug report with a complete description of your problem and the steps to trigger it.
File indexing of PDF/some other file types doesn't work.
PDF indexing is a known issue and it's being tracked in bug #231936. If you have issues with other files, open a bug, preferably adding a sample file that shows the problem.
The program nepomukservicestub crashes at startup.
A large number of fixes for crashes has been fixed for the 4.7.2 release of the KDE Workspaces and Applications. If you encounter more, please file bugs report with detailed instructions on how to reproduce the problem, as sometimes the developers are unable to trigger them in their test setups.
The virtuoso-t process hangs at 100% CPU.
Virtuoso-t is a key component of the old Semantic Search infrastructure and in some occasions the commands sent by the other components end up taking too much time (hence showing the effect of 100% CPU).

Virtuoso is no longer used by Semantic Search starting the Applications 4.13 release.

Sometimes Nepomuk consumes too much RAM.
Many of these problems have been fixed, in other cases however the developers are unable to reproduce the issues correctly. In this case, providing examples and test cases to bug reports increase the chances to get these bugs fixed.
Search accesses the disk too much on startup.
A throttling mechanism implemented in the file indexer, versions after KDE SC 4.8 should no longer have this issue.
My Search database has been corrupted. How do I clean it?
In the extreme case your database is really corrupted and all other attempts have failed, you can delete the $KDEHOME/share/apps/nepomuk directory (where $KDEHOME is usually .kde or .kde4 in your home directory) while Nepomuk is not running. The database will be cleared, but you will also lose existing information such as tags, ratings and comments.

Advanced troubleshooting

Veröffentlichen und Privatsphäre

Eine Sache muss ich noch erwähnen, bevor ich auf andere Informationsquellen hinweise: das Veröffentlichen von Nepomukdaten. Es wäre von Vorteil, wenn man Tags, Bewertungen und Kommentare mit anderen teilen könnte, wenn man ihnen Dateien sendet. Wenn man jedoch eine Kontaktperson mit mehr oder weniger beleidigenden Tags ("langweilig im Bett") belegt hätte, würde man wahrscheinlich nicht wollen, dass dieser Tag mit versendet würde...

Dieser Umstand wird natürlich bedacht und ist ein wichtiger Aspekt in der Forschung um Nepomuk. Zur Zeit ist diese Privatsphäre zusammen mit den technischen Herausforderungen der Grund, dass Nepomukdaten privat sind. Es sei versichert, dass das Nepomukteam alles erdenkliche tut, damit deine Privatsphäre respektiert wird.

The new Search technology (post KDE Applications 4.13):

The old Search technology: