Nepomuk

From KDE Wiki Sandbox
This page is a translated version of the page Nepomuk and the translation is 44% complete.
Outdated translations are marked like this.

Semantic Search

The aim of this page is not to fully explain KDE's Semantic Search technology and every detail, but to give a short overview, some examples, share the vision behind it and link to relevant information on the web.

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.

Συνοπτική επεξήγηση

As the Glossary mentions, Semantic Search is about classification, organisation and presentation of data. It is not an application, but a component which can be used by developers within applications.

Try out in Dolphin

For example, the Dolphin file manager makes use of Search. In KDE Applications versions prior to 4.13 Semantic Search must be enabled from System settings -> Desktop search. The information sidebar of Dolphin (Control -> Panels -> Information, or press F11) presents information extracted by Search about the selected file, and also allows you to assign tags, ratings and comments to files. This information is then stored and indexed by Search. You can then search for metadata using the navigation bar in Dolphin. Click to Find, or press Ctrl+F, and search for file names or file contents.


Λειτουργικότητες

KDE's Semantic Search 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.

To make finding files containing text easier, Search offers a second functionality: indexing the text of files. You can find files by entering some words which you know are in there, or just (part of) their title.

The third layer is a very complex one, and the reason why the underlying technology, 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.

Δεικτοδότηση αρχείων

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.

Παραδείγματα

Let me try to explain what Semantic Search offers using two examples. These features are not available fully yet - the base is there but application developers need to integrate this in their applications.

Σχέση

Ας πούμε ότι λάβατε μια φωτογραφία από έναν φίλο σας πριν από δυο εβδομάδες. Την αποθηκεύσατε κάπου στον υπολογιστή σας. Πώς βρίσκετε τώρα το αρχείο; Αν δε θυμάστε την τοποθεσία, ατυχήσατε.

Now Semantic Search aims to help you. You know this file came from that friend of yours, your computer does not know. Search, however, can remember this relationship. Searching on the name of your friend will therefore pop up the photo!

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 Search is still under heavy development, and needs integration in applications, so you can expect it to take a few more years to really shine.

All in all, this part of Semantic Search 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. Semantic Search will be able to offer such smart results and order them on relevancy using relationship information.

Περικείμενο

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 Search 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.

Ώρα για ένα παράδειγμα του πώς η μεταφορά της γνώσης του περικειμένου στην επιφάνεια εργασίας μπορεί να σας βοηθήσει να δουλέψετε αποδοτικότερα.

Έστω ότι τελειώνετε τη δουλειά σας με κάποιες σημειώσεις που κρατήσατε σε μια συνάντηση. Το τηλέφωνο χτυπά και κάποιος σας ζητά να βρείτε ένα υπολογιστικό φύλλο με τιμές και να το προσαρμόσετε για έναν πελάτη. Μετά από μερικές ακόμα διακοπές βρίσκετε την επιφάνεια εργασίας σας γεμάτη αρχεία και παράθυρα.

Δε θα ταν ωραία να μπορούσατε να τα οργανώσετε όλα αυτά κάπως καλύτερα;

Enter '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 Plasma 4.3, each virtual desktop can have its own activity, bringing the two in sync.

Αν οι εφαρμογές και η επιφάνεια εργασίας είχαν γνώση περί δραστηριοτήτων, θα μπορούσατε να δημιουργήσετε μια δραστηριότητα για κάθε εργασία που κάνετε τακτικά. Έτσι, αν χρειάζεται συχνά να αλλάζετε ένα υπολογιστικό φύλλο με τιμές, δημιουργείτε μια δραστηριότητα για αυτό: βάζετε ένα ή περισσότερα γραφικά συστατικά προβολής φακέλου στην επιφάνεια εργασίας, μια αριθμομηχανή και ένα συστατικό εργασιών προς υλοποίηση για να καταγράφετε τι έχετε ακόμα να αλλάξετε. Μπορείτε ακόμα να έχετε και ένα συστατικό ηλεκτρονικής αλληλογραφίας που δείχνει τα μηνύματα με ερωτήσεις σχετικές με υπολογιστικά φύλλα τιμών!

Μόλις κάποιος σας ρωτήσει κάτι σχετικά με τιμές, εναλλάσσεστε σε αυτήν τη δραστηριότητα. Βάζετε μπρος την εφαρμογή υπολογιστικών φύλλων. Επειδή γνωρίζει τη δραστηριότητα, εμφανίζει τα πρόσφατα υπολογιστικά φύλλα με τιμές και όχι την πρόσφατη λίστα με τις απογραφές την οποία και δουλεύατε σε μια άλλη δραστηριότητα! Το Kopete, η εφαρμογή συνομιλίας σας εμφανίζει τη συνάδελφο που ξέρει τα πάντα για τις τιμές, αφού με αυτήν συνομιλείτε πάντα όταν δουλεύετε σε αυτήν τη δραστηριότητα.

Όταν τελειώσετε, γυρνάτε πίσω στην παλιά σας δραστηριότητα και ξανά όλες οι εφαρμογές προσαρμόζουν τη συμπεριφορά τους σε αυτό που κάνετε.

Τα οφέλη μιας ροής εργασίας βασισμένης στις δραστηριότητες είναι πολλά περισσότερα από αυτά που μπορείτε να περιμένετε με μια πρώτη ματιά. Δε βοηθά απλά στο να βρίσκετε επαφές και αρχεία, αλλά επίσης βοηθά στο να εναλλάσσεστε μεταξύ εργασιών. Το ανθρώπινο μυαλό δεν είναι πολύ καλό στην διαχείριση πολλαπλών εργασιών παράλληλα - στους περισσότερους ανθρώπους παίρνει μερικά λεπτά για να πάρουν τα πάνω τους μετά από μια εναλλαγή σε νέα εργασία. Αλλάζοντας το 'περιβάλλον' βοηθά κατά πολύ στο να γίνει πιο γρήγορα αυτή η διαδικασία, ακόμα κι αν όλα αυτά γίνονται μόνο στην οθόνη. Συγκρίνετέ το με το να μπαίνετε σε κλίμα διακοπών φτιάχνοντας τη βαλίτσα σας!

Φυσικά, όλα τα παραπάνω είναι πιο πολύ για ανθρώπους που δουλεύουν με τον υπολογιστή είτε στο γραφείο είτε στο σπίτι. Κάποιος που ασχολείται με παιχνίδια ή ένας τυπικός χρήστης πιθανώς να μη χρησιμοποιήσει τις δραστηριότητες και τόσο πολύ.

The scenario described above is already partially implemented in the Activities but much work is still left.

Συχνές Ερωτήσεις

Το παρακάτω προέρχεται από το φόρουμ του KDE. Μπορείτε ελεύθερα να προσθέσετε/αφαιρέσετε/τροποποιήσετε οποιαδήποτε λεπτομέρεια αν έχετε χρόνο!

Τι είναι η Σημασιολογική επιφάνεια εργασίας Nepomuk και η εφαρμογή δεικτοδότησης/ευρετηρίασης αρχείων επιφάνειας εργασίας Strigi;
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.
Πώς μπορώ να απενεργοποιήσω τη σημασιολογική επιφάνεια εργασίας;
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.
Γιατί υπάρχουν ακόμα οι διεργασίες nepomukservicestub παρόλο που έχω απενεργοποιήσει τον Nepomuk;
Ίσως υπάρχει κάποιο σφάλμα. Παρακαλώ καταχωρήστε μια αναφορά σφάλματος συνοδευόμενη από μια πλήρη περιγραφή του προβλήματος και τα βήματα που προηγήθηκαν για να προκληθεί.
File indexing of PDF/some other file types doesn't work.
Η ευρετηρίαση των PDF είναι ένα γνωστό πρόβλημα και καταγράφεται στο bug #231936. Αν έχετε θέματα με άλλους τύπους αρχείων, καταχωρήστε μια αναφορά σφάλματος και καλό θα ήταν να προσθέσετε ένα αρχείο-υπόδειγμα που εμφανίζει το πρόβλημα αυτό.
The program nepomukservicestub crashes at startup.
Ένας μεγάλος αριθμός επιδιορθώσεων για προβλήματα κατάρρευσης  διορθώθηκαν με την κυκλοφορία της έκδοσης 4.7.2 των χώρων εργασίας και εφαρμογών του KDE. Αν συναντήσετε κι άλλα, καταχωρήστε αναφορές σφαλμάτων με λεπτομερείς οδηγίες για των αναπαραγωγή τους, γιατί μερικές φορές οι προγραμματιστές είναι αδύνατο να τα αναπαράγουν στα περιβάλλοντα δοκιμής τους.
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.
Πολλά από αυτά τα προβλήματα έχουν επιλυθεί, σε άλλες όμως περιπτώσεις τα προβλήματα είναι αδύνατον να αναπαραχθούν επιτυχώς από τους προγραμματιστές. Σε αυτή την περίπτωση, παρέχοντας παραδείγματα και σενάρια ελέγχου εκτέλεσης σε αναφορές σφαλμάτων αυξάνετε τις πιθανότητες επίλυσης των σφαλμάτων αυτών.
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.

Αντιμετώπιση προβλημάτων για προχωρημένους

Κοινή χρήση και ιδιωτικότητα

Υπάρχει ένα πράγμα που πρέπει να θίξουμε πριν αναφερθούμε σε άλλες πηγές πληροφοριών: η κοινή χρήση των δεδομένων του Nepomuk. Θα ήταν καλό οι ετικέτες, οι αξιολογήσεις και τα σχόλια να μοιράζονται με αυτούς στους οποίους στέλνετε αρχεία. Παρόλα αυτά, αν προσθέσετε μια ετικέτα σε μια επαφή με σχετικά άβολο περιεχόμενο ('βαρετός στο κρεβάτι') και στείλετε τις προσωπικές πληροφορίες της επαφής σε κάποιον κοινό φίλο, πιθανώς να μη θέλετε να αποσταλεί και η ετικέτα.

Αυτό το ζήτημα φυσικά λαμβάνεται υπ όψιν και αποτελεί ένα σημαντικό αντικείμενο έρευνας από τους ερευνητές του Nepomuk. Προς το παρόν, αυτά τα ζητήματα ιδιωτικότητας, σε συνδυασμό με τις τεχνικές προκλήσεις, είναι ο λόγος που το πλαίσιο του Nepomuk είναι ιδιωτικό. Μείνετε ήσυχοι πως η ομάδα του Nepomuk θα κάνει ότι είναι δυνατό ως προς το σεβασμό της ιδιωτικότητας.

Εξωτερικοί σύνδεσμοι

The new Search technology (post KDE Applications 4.13):

The old Search technology: