Nepomuk

From KDE Wiki Sandbox
Revision as of 21:56, 15 January 2013 by Dimkard (talk | contribs) (Created page with "Απ. Η Σημασιολογική επιφάνεια εργασίας Nepomuk είναι το θεμέλιο όλων των άλλων αρθρωμάτων της υποδ...")

Nepomuk

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

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

Όπως αναφέρεται και στο Γλωσσάρι, το Nepomuk ασχολείται με τη δεικτοδότηση/ευρετηρίαση, την οργάνωση και την παρουσίαση των δεδομένων. Δεν είναι εφαρμογή, αλλά ένα συστατικό που μπορεί να χρησιμοποιηθεί από τους προγραμματιστές μέσα στις εφαρμογές.

Δοκιμάστε το στον Dolphin

Για παράδειγμα, ο διαχειριστής αρχείων Dolphin χρησιμοποιεί το Nepomuk. Για να ισχύουν τα παρακάτω, το Nepomuk και το Strigi πρέπει να είναι ενεργοποιημένα από τις Ρυθμίσεις συστήματος-> Αναζήτηση επιφάνειας εργασίας. Η πλευρική μπάρα πληροφοριών του Dolphin (Έλεγχος -> Πίνακες -> Πληροφορίες , ή το πάτημα του πλήκτρου F11) παρουσιάζει πληροφορίες που εξήγαγε το Strigi σχετικά με το συγκεκριμένο αρχείο, και σας επιτρέπει να αναθέτετε ετικέτες, βαθμολογίες και σχόλια στα αρχεία. Οι πληροφορίες αυτές αποθηκεύονται τότε στο Nepomuk και ευρετηριοποιούνται από το Strigi. Έτσι μπορείτε να αναζητήσετε μετα-δεδομένα από την γραμμή πλοήγησης στον Dolphin. Κάντε κλικ στο Αναζήτηση, ή πατήστε Ctrl+Fκαι ψάξτε για ονόματα αρχείων ή τα περιεχόμενα των αρχείων.


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

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

Για να κάνει ευκολότερη την εύρεση αρχείων κειμένου με βάση το περιεχόμενό τους, το Nepomuk παρέχει μια δεύτερη λειτουργικότητα: τη δεικτοδότηση (ευρετηρίαση) του κειμένου των αρχείων. Η τεχνολογία που χρησιμοποιεί για αυτό είναι το Strigi. Μπορείτε να βρείτε αρχεία εισάγοντας μερικές λέξεις που γνωρίζετε από πριν ότι περιέχονται, ή απλά τον τίτλο ή ένα τμήμα του.

Το τρίτο επίπεδο είναι πολύπλοκο σε μεγάλο βαθμό και αποτελεί και τον λόγο που το Nepomuk συστήθηκε σαν ερευνητικό έργο διαφόρων εταιριών και πανεπιστημίων στη Ευρωπαϊκή Ένωση. Εκεί θα συναντήσετε δύσκολες λέξεις όπως η 'σημασιολογική επιφάνεια εργασίας' και οι 'οντολογίες'. Βασικά, έχει να κάνει με το περικείμενο (context) και τις σχέσεις.

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

Το Stigi δεν ευρετηριοποιεί όλα τα αρχεία του σκληρού δίσκου. Η προκαθορισμένη του διαμόρφωση στις περισσότερες διανομές του Linux εξαιρεί τους συνήθεις τύπους αρχείων αντιγράφων ασφαλείας και τους καταλόγους διαμόρφωσης και δεικτοδοτεί μόνο τα αρχεία στον προσωπικό φάκελο. Αυτό μπορείτε να το αλλάξετε στις Ρυθμίσεις συστήματος -> Αναζήτηση επιφάνειας εργασίας -> Αναζήτηση στην Επιφάνεια εργασίας -> Προσαρμογή φακέλων ευρετηρίου...->Φάκελοι για προσθήκη στο ευρετήριο.

Σημειώστε ότι το Strigi από την έκδοση 4.7 του KDE κι ύστερα, δεν ακολουθεί τους συμβολικούς συνδέσμους (σφάλμα #208602). Μέχρι και την KDE 4.9, ακόμα κι αν ο χρήστης επιλέξει τους φακέλους που βρίσκονται κάτω από τον συμβολικό σύνδεσμο (bug #287593), το περιεχόμενο δε δεικτοδοτείται. Το συγκεκριμένο σφάλμα έχει διορθωθεί. Έτσι, ο χρήστης μπορεί να βλέπει τους φακέλους, αλλά δεν μπορεί να επιλέξει κάποιον από αυτούς για ευρετηρίαση. (Συμβολικός σύνδεσμος είναι ένα αρχείο που "δείχνει" προς ένα άλλο αρχείο ή φάκελο· ο Dolphin εμφανίζει τους συμβολικούς δεσμούς με πλάγια.) Πρέπει λοιπόν να βρείτε τη διαδρομή προς τον πραγματικό κατάλογο (στον Dolphin, επιλέξτε το αρχείο, επιλέξτε Ιδιότητες-> Γενικά-> Δείχνει στο) και πείτε στο Strigi να το δεικτοδοτήσει.

Στις Ρυθμίσεις συστήματος μπορείτε επίσης να ελέγξετε αν το Strigi δεικτοδοτεί αρχεία σε αφαιρούμενα μέσα αποθήκευσης όπως USB ή CD-ROM.

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

Ας προσπαθήσουμε να εξηγήσουμε τι προσφέρει το Nepomuk χρησιμοποιώντας δυο παραδείγματα.

Relationship

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

Τώρα το Nepomuk έρχεται να σας βοηθήσει. Εσείς γνωρίζετε ότι το αρχείο το λάβατε από έναν φίλο σας, ο υπολογιστής σας όμως όχι. Το Nepomuk, παρόλα αυτά, μπορεί να θυμηθεί αυτή τη σχέση. Κάντε αναζήτηση με το όνομα του φίλου σας και η φωτογραφία θα ξεπροβάλλει!

Μια άλλη πιθανή σχέση είναι αυτή μεταξύ της ιστοσελίδας από την οποία αντιγράψατε ένα κείμενο και το έγγραφο στο οποίο το επικολλήσατε, ή δυο εικόνες που δείχνουν το ίδιο αυτοκίνητο. Τέτοιες σχέσεις μπορεί μερικές φορές να εξαχθούν από τα ίδια τα αρχεία (θα μπορούσατε να αναλύσετε φωτογραφίες και να δείτε ποιος ή τι είναι εκεί) ή να παρέχονται από τις εμπλεκόμενες εφαρμογές (όπως στο παράδειγμα με το email παραπάνω). Αυτό το κομμάτι του Nepomuk είναι υπό ανάπτυξη και απαιτεί ενσωμάτωση στις εφαρμογές, έτσι αναμένεται να πάρει μερικά χρόνια ακόμα για να λάμψει πραγματικά.

Στην ουσία, το συγκεκριμένο τμήμα του Nepomuk αφορά στο να κάνει την αναζήτηση έξυπνη. Σκεφτείτε πώς η Google προσπαθεί να είναι έξυπνη στις αναζητήσεις σας: όταν ψάχνετε ένα ξενοδοχείο και το όνομα μιας πόλης, δείχνει πάνω από τα αποτελέσματα έναν χάρτη που δείχνει ξενοδοχεία στην πόλη που αναφέρατε! Μπορεί ακόμα και να σας συστήσει ένα καταλληλότερο όνομα σε περίπτωση ορθογραφικού λάθους. Η Google επίσης προσπαθεί να σπρώξει τις πιο σχετικές πληροφορίες στην κορυφή της λίστας των αποτελεσμάτων, κάνοντας πολύπλοκους υπολογισμούς ως προς τις σχέσεις (συνδέσμους) μεταξύ των ιστοσελίδων. Το Nepomuk θα μπορέσει να σας προσφέρει τέτοια έξυπνα αποτελέσματα και να τα ταξινομήσει ως προς τη σχετικότητά τους χρησιμοποιώντας πληροφορίες σχέσεων.

Περικείμενο

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

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

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

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

Μπείτε στον κόσμο των 'δραστηριοτήτων'. Αποτελούν μέρος του Plasma και αυτή τη στιγμή προσφέρουν διαφορετικές 'επιφάνειες εργασίας'. Είναι κάτι σαν εικονικές επιφάνειες εργασίας, εκτός του ότι αυτό που αλλάζει είναι η ίδια η επιφάνεια, όχι το σύνολο των εφαρμογών. Διαφορετικά γραφικά συστατικά, φόντο και άλλα αντίστοιχα πράγματα. Φυσικά, από το KDE 4.3, κάθε εικονική επιφάνεια εργασίας μπορεί να έχει τη δική της δραστηριότητα, συγχρονίζοντας τα δυο παραπάνω.

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

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

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

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

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

Σημειώστε ότι το σενάριο που περιγράψαμε παραπάνω απέχει μερικά χρόνια από το να γίνει πραγματικότητα. Μεγάλο μέρος της βασικής υποδομής για αυτό υπάρχει ήδη στο KDE αλλά απομένουν ακόμα πολλά άλλα.

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

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

Ερ. Τι είναι η Σημασιολογική επιφάνεια εργασίας Nepomuk και η εφαρμογή δεικτοδότησης/ευρετηρίασης αρχείων επιφάνειας εργασίας Strigi;

Απ. Η Σημασιολογική επιφάνεια εργασίας Nepomuk είναι το θεμέλιο όλων των άλλων αρθρωμάτων της υποδομής του Nepomuk. Παρέχει το τρόπο για την οργάνωση, τον σχολιασμό και την δημιουργία σχέσεων μεταξύ των δεδομένων (όχι μόνο ονόματα αρχείων και περιεχόμενο, αλλά για παράδειγμα ποιες εφαρμογές χρησιμοποίησαν ένα συγκεκριμένο αρχείο, ή τι ετικέτα προστέθηκε). Μια σειρά από εφαρμογές του KDE καθώς και χώροι εργασίας χρησιμοποιούν αυτή τη βασική υποδομή για να προσφέρουν χαρακτηριστικά όπως την προσθήκη ετικετών στα email (KMail) ή την υλοποίηση των δραστηριοτήτων (Plasma).

On the other hand, the Strigi Desktop File Indexer is a system to index files so that they can be added to the main Nepomuk repository, a convenient way to use them within Nepomuk without adding any file manually. Also, applications such as Dolphin can then search for files basing 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. Nepomuk can be fully functional without the use of the File Indexer, which is an additional (and optional) component.

Q. How can I tell if Strigi has indexed a file?

A. In Dolphin, select the file. If the Information panel displays "Created at" and "Has hash", then the file was indexed by Strigi.

Q. How can I disable the semantic desktop?

A. Most of the times, the easiest way is to disable file indexing, which is usually, among the Nepomuk components, the heavier in resource usage (although many optimizations were included in the 4.7 release which has reduced resource usage). This is done 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 Nepomuk 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.

Q. Why do I have nepomukservicestub processes even though I've disabled Nepomuk?

A. It may be a bug. Please file a bug report with a complete description of your problem and the steps to trigger it.

Q. File indexing of PDF/some other file types doesn't work.

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

Q. The program nepomukservicestub crashes at startup.

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

Q. The virtuoso-t process hangs at 100% CPU.

A. Virtuoso-t is a key component of the Nepomuk 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). Sebastian Trüg (the lead developer of Nepomuk) has fixed most of these problems in 4.7.1 or newer.

Q. Sometimes Nepomuk consumes too much RAM.

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

Q. Nepomuk re-indexes files at startup.

A. This bug has been fixed in 4.7.0 versions. Now Nepomuk just "scans" for changes, without indexing anything.

Q. Nepomuk accesses the disk too much on startup.

A. In 4.7 and newer this problem has been lessened thanks to a throttling mechanism implemented in the file indexer.

Q. My Nepomuk database has been corrupted. How do I clean it?

A. 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) 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

If Nepomuk has trouble indexing a file, in a terminal try running

nepomukindexer /path/to/file

and see if there's any useful output. You can compare the output to a similar file that is successfully indexed.

xmlindexer /path/to/file > /tmp/test.xml

generates an XML representation of some of the information extracted from a file. You can view this in an XML viewer, such as your browser, and again compare it to the output for a similar file. (xmlindexer may be in a different and optional package in your Linux distribution; for example in Ubuntu it is in the strigi-utils package.)

This blog post explains how to turn on debugging output from the Nepomuk service. It also shows how to debug the CPU usage of Nepomuk and its storage backend.

This blog post explains how to extract useful information for bug reports about the CPU usage of the Virtuoso backend.

Sharing and privacy

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.

External links