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 χρησιμοποιώντας δυο παραδείγματα.
Σχέση
Ας πούμε ότι λάβατε μια φωτογραφία από έναν φίλο σας πριν από δυο εβδομάδες. Την αποθηκεύσατε κάπου στον υπολογιστή σας. Πώς βρίσκετε τώρα το αρχείο; Αν δε θυμάστε την τοποθεσία, ατυχήσατε.
Τώρα το Nepomuk έρχεται να σας βοηθήσει. Εσείς γνωρίζετε ότι το αρχείο το λάβατε από έναν φίλο σας, ο υπολογιστής σας όμως όχι. Το Nepomuk, παρόλα αυτά, μπορεί να θυμηθεί αυτή τη σχέση. Κάντε αναζήτηση με το όνομα του φίλου σας και η φωτογραφία θα ξεπροβάλλει!
Μια άλλη πιθανή σχέση είναι αυτή μεταξύ της ιστοσελίδας από την οποία αντιγράψατε ένα κείμενο και το έγγραφο στο οποίο το επικολλήσατε, ή δυο εικόνες που δείχνουν το ίδιο αυτοκίνητο. Τέτοιες σχέσεις μπορεί μερικές φορές να εξαχθούν από τα ίδια τα αρχεία (θα μπορούσατε να αναλύσετε φωτογραφίες και να δείτε ποιος ή τι είναι εκεί) ή να παρέχονται από τις εμπλεκόμενες εφαρμογές (όπως στο παράδειγμα με το email παραπάνω). Αυτό το κομμάτι του Nepomuk είναι υπό ανάπτυξη και απαιτεί ενσωμάτωση στις εφαρμογές, έτσι αναμένεται να πάρει μερικά χρόνια ακόμα για να λάμψει πραγματικά.
Στην ουσία, το συγκεκριμένο τμήμα του Nepomuk αφορά στο να κάνει την αναζήτηση έξυπνη. Σκεφτείτε πώς η Google προσπαθεί να είναι έξυπνη στις αναζητήσεις σας: όταν ψάχνετε ένα ξενοδοχείο και το όνομα μιας πόλης, δείχνει πάνω από τα αποτελέσματα έναν χάρτη που δείχνει ξενοδοχεία στην πόλη που αναφέρατε! Μπορεί ακόμα και να σας συστήσει ένα καταλληλότερο όνομα σε περίπτωση ορθογραφικού λάθους. Η Google επίσης προσπαθεί να σπρώξει τις πιο σχετικές πληροφορίες στην κορυφή της λίστας των αποτελεσμάτων, κάνοντας πολύπλοκους υπολογισμούς ως προς τις σχέσεις (συνδέσμους) μεταξύ των ιστοσελίδων. Το Nepomuk θα μπορέσει να σας προσφέρει τέτοια έξυπνα αποτελέσματα και να τα ταξινομήσει ως προς τη σχετικότητά τους χρησιμοποιώντας πληροφορίες σχέσεων.
Περικείμενο
Οι σχέσεις δε βοηθούν μόνο στην αναζήτηση αρχείων, αλλά επιδρούν επίσης και στις εφαρμογές καθώς και στις πληροφορίες που παρουσιάζουν. Σημειώστε ότι ο συγκεκριμένος τρόπος χρήσης του Nepomuk είναι περισσότερο όραμα παρά πραγματικότητα! Πολλά από τα συστατικά του υπάρχουν αλλά δεν έχουν ενσωματωθεί στις εφαρμογές και στην επιφάνεια εργασίας συνολικά.
Ώρα για ένα παράδειγμα του πώς η μεταφορά της γνώσης του περικειμένου στην επιφάνεια εργασίας μπορεί να σας βοηθήσει να δουλέψετε αποδοτικότερα.
Έστω ότι τελειώνετε τη δουλειά σας με κάποιες σημειώσεις που κρατήσατε σε μια συνάντηση. Το τηλέφωνο χτυπά και κάποιος σας ζητά να βρείτε ένα υπολογιστικό φύλλο με τιμές και να το προσαρμόσετε για έναν πελάτη. Μετά από μερικές ακόμα διακοπές βρίσκετε την επιφάνεια εργασίας σας γεμάτη αρχεία και παράθυρα.
Δε θα ταν ωραία να μπορούσατε να τα οργανώσετε όλα αυτά κάπως καλύτερα;
Μπείτε στον κόσμο των 'δραστηριοτήτων'. Αποτελούν μέρος του Plasma και αυτή τη στιγμή προσφέρουν διαφορετικές 'επιφάνειες εργασίας'. Είναι κάτι σαν εικονικές επιφάνειες εργασίας, εκτός του ότι αυτό που αλλάζει είναι η ίδια η επιφάνεια, όχι το σύνολο των εφαρμογών. Διαφορετικά γραφικά συστατικά, φόντο και άλλα αντίστοιχα πράγματα. Φυσικά, από το KDE 4.3, κάθε εικονική επιφάνεια εργασίας μπορεί να έχει τη δική της δραστηριότητα, συγχρονίζοντας τα δυο παραπάνω.
Αν οι εφαρμογές και η επιφάνεια εργασίας είχαν γνώση περί δραστηριοτήτων, θα μπορούσατε να δημιουργήσετε μια δραστηριότητα για κάθε εργασία που κάνετε τακτικά. Έτσι, αν χρειάζεται συχνά να αλλάζετε ένα υπολογιστικό φύλλο με τιμές, δημιουργείτε μια δραστηριότητα για αυτό: βάζετε ένα ή περισσότερα γραφικά συστατικά προβολής φακέλου στην επιφάνεια εργασίας, μια αριθμομηχανή και ένα συστατικό εργασιών προς υλοποίηση για να καταγράφετε τι έχετε ακόμα να αλλάξετε. Μπορείτε ακόμα να έχετε και ένα συστατικό ηλεκτρονικής αλληλογραφίας που δείχνει τα μηνύματα με ερωτήσεις σχετικές με υπολογιστικά φύλλα τιμών!
Μόλις κάποιος σας ρωτήσει κάτι σχετικά με τιμές, εναλλάσσεστε σε αυτήν τη δραστηριότητα. Βάζετε μπρος την εφαρμογή υπολογιστικών φύλλων. Επειδή γνωρίζει τη δραστηριότητα, εμφανίζει τα πρόσφατα υπολογιστικά φύλλα με τιμές και όχι την πρόσφατη λίστα με τις απογραφές την οποία και δουλεύατε σε μια άλλη δραστηριότητα! Το Kopete, η εφαρμογή συνομιλίας σας εμφανίζει τη συνάδελφο που ξέρει τα πάντα για τις τιμές, αφού με αυτήν συνομιλείτε πάντα όταν δουλεύετε σε αυτήν τη δραστηριότητα.
Όταν τελειώσετε, γυρνάτε πίσω στην παλιά σας δραστηριότητα και ξανά όλες οι εφαρμογές προσαρμόζουν τη συμπεριφορά τους σε αυτό που κάνετε.
Τα οφέλη μιας ροής εργασίας βασισμένης στις δραστηριότητες είναι πολλά περισσότερα από αυτά που μπορείτε να περιμένετε με μια πρώτη ματιά. Δε βοηθά απλά στο να βρίσκετε επαφές και αρχεία, αλλά επίσης βοηθά στο να εναλλάσσεστε μεταξύ εργασιών. Το ανθρώπινο μυαλό δεν είναι πολύ καλό στην διαχείριση πολλαπλών εργασιών παράλληλα - στους περισσότερους ανθρώπους παίρνει μερικά λεπτά για να πάρουν τα πάνω τους μετά από μια εναλλαγή σε νέα εργασία. Αλλάζοντας το 'περιβάλλον' βοηθά κατά πολύ στο να γίνει πιο γρήγορα αυτή η διαδικασία, ακόμα κι αν όλα αυτά γίνονται μόνο στην οθόνη. Συγκρίνετέ το με το να μπαίνετε σε κλίμα διακοπών φτιάχνοντας τη βαλίτσα σας!
Φυσικά, όλα τα παραπάνω είναι πιο πολύ για ανθρώπους που δουλεύουν με τον υπολογιστή είτε στο γραφείο είτε στο σπίτι. Κάποιος που ασχολείται με παιχνίδια ή ένας τυπικός χρήστης πιθανώς να μη χρησιμοποιήσει τις δραστηριότητες και τόσο πολύ.
Σημειώστε ότι το σενάριο που περιγράψαμε παραπάνω απέχει μερικά χρόνια από το να γίνει πραγματικότητα. Μεγάλο μέρος της βασικής υποδομής για αυτό υπάρχει ήδη στο KDE αλλά απομένουν ακόμα πολλά άλλα.
Συχνές Ερωτήσεις
Το παρακάτω προέρχεται από το φόρουμ του KDE. Μπορείτε ελεύθερα να προσθέσετε/αφαιρέσετε/τροποποιήσετε οποιαδήποτε λεπτομέρεια αν έχετε χρόνο!
Ερ. Τι είναι η Σημασιολογική επιφάνεια εργασίας Nepomuk και η εφαρμογή δεικτοδότησης/ευρετηρίασης αρχείων επιφάνειας εργασίας Strigi;
Απ. Η Σημασιολογική επιφάνεια εργασίας Nepomuk είναι το θεμέλιο όλων των άλλων αρθρωμάτων της υποδομής του Nepomuk. Παρέχει το τρόπο για την οργάνωση, τον σχολιασμό και την δημιουργία σχέσεων μεταξύ των δεδομένων (όχι μόνο ονόματα αρχείων και περιεχόμενο, αλλά για παράδειγμα ποιες εφαρμογές χρησιμοποίησαν ένα συγκεκριμένο αρχείο, ή τι ετικέτα προστέθηκε). Μια σειρά από εφαρμογές του KDE καθώς και χώροι εργασίας χρησιμοποιούν αυτή τη βασική υποδομή για να προσφέρουν χαρακτηριστικά όπως την προσθήκη ετικετών στα email (KMail) ή την υλοποίηση των δραστηριοτήτων (Plasma).
Από την άλλη, η εφαρμογή δεικτοδότησης αρχείων επιφάνειας εργασίας Strigi, είναι ένα σύστημα δεικτοδότησης αρχείων έτσι ώστε αυτά να μπορούν να προστεθούν στο βασικό αποθετήριο του Nepomuk, ένας βολικός τρόπος για να τα χρησιμοποιείτε στον Nepomuk χωρίς να χρειάζεται να προσθέτετε αρχεία με το χέρι. Επίσης, εφαρμογές όπως ο Dolphin μπορούν να αναζητούν αρχεία με βάση το όνομα, το περιεχόμενο ή άλλα μετα-δεδομένα (π.χ. ετικέτες) που είναι συσχετισμένα με τα δεικτοδοτημένα αρχεία. Μια τέτοια εφαρμογή μπορεί επίσης να δεικτοδοτήσει και αρχεία που δεν είναι απλού κειμένου, όπως PDF, με πρόσβαση στα μετα-δεδομένα των αρχείων αυτών (συγγραφέας, πληροφορίες έκδοσης, κλπ). Μερικά συστατικά του KDE έρχονται με επιπλέον 'αναλυτές' για περισσότερους τύπους αρχείων. Το Nepomuk μπορεί να είναι πλήρως λειτουργικό χωρίς την εφαρμογή δεικτοδότησης αρχείων, το οποίο είναι επιπλέον (και προαιρετικό) συστατικό.
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.
Ερ. Πώς μπορώ να απενεργοποιήσω τη σημασιολογική επιφάνεια εργασίας;
Απ. Τις περισσότερες φορές, ο ευκολότερος τρόπος είναι να απενεργοποιήσετε τη δεικτοδότηση των αρχείων, που είναι συνήθως, μεταξύ των συστατικών του Nepomuk, η βαρύτερη σε χρήση πόρων (αν και έχουν συμπεριληφθεί πολλές βελτιστοποιήσεις στη έκδοση 4.7 η οποία μείωσε την κατανάλωση πόρων). Αυτό μπορεί να γίνει απενεργοποιώντας το Αναζήτηση επιφάνειας εργασίας στις Ρυθμίσεις συστήματος. Σε περίπτωση που θέλετε να απενεργοποιήσετε όλα τα σημασιολογικά χαρακτηριστικά, αφαιρέστε την επιλογή από το . Σημειώστε ότι αυτό θα απενεργοποιήσει και την αναζήτηση στον Dolphin.
στο τμήμαΣημειώστε ότι με την τελευταία επιλογή κάποια από τα προγράμματα που χρησιμοποιούν το Nepomuk για μετα-δεδομένα θα έχουν μειωμένη λειτουργικότητα: για παράδειγμα το KMail δε θα μπορεί να προσθέσει ετικέτες στα mail, ή οι δραστηριότητες του Plasma δε θα προσφέρουν επιπρόσθετα χαρακτηριστικά όπως εικονίδια ή πληροφορίες δεδομένων των προγραμμάτων.
Ερ. Γιατί υπάρχουν ακόμα οι διεργασίες nepomukservicestub παρόλο που έχω απενεργοποιήσει τον Nepomuk?
Απ. Ίσως υπάρχει κάποιο σφάλμα. Παρακαλώ καταχωρήστε μια αναφορά σφάλματος συνοδευόμενη από μια πλήρη περιγραφή του προβλήματος και τα βήματα που προηγήθηκαν για να προκληθεί.
Ερ. Η ευρετηρίαση των PDF/κάποιων άλλων τύπων αρχείων δε λειτουργεί.
Απ. Η ευρετηρίαση των PDF είναι ένα γνωστό πρόβλημα και καταγράφεται στο bug #231936. Αν έχετε θέματα με άλλους τύπους αρχείων, καταχωρήστε μια αναφορά σφάλματος και καλό θα ήταν να προσθέσετε ένα αρχείο-υπόδειγμα που εμφανίζει το πρόβλημα αυτό.
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.