Nepomuk
Ricerca semantica
Lo scopo di questa pagina non è spiegare completamente la tecnologia della ricerca semantica di KDE in ogni dettaglio, ma di fornirne una breve panoramica, alcuni esempi, condividerne la visione di base e segnalare alcuni collegamenti a informazioni pertinenti presenti sul web.
Baloo è la nuova ricerca semantica
A partire da KDE Applications 4.13 in poi 'Baloo', l'infrastruttura di indicizzazione e ricerca file, sostituisce Nepomuk. Leggi tutti i dettagli con le modifiche. La ricerca semantica non utilizza più un singolo grande database, ma database separati e specializzati per ogni tipo di dati. I nuovi database di ricerca si trovano in $HOME/.local/share/baloo. Se hai aggiornato a KDE Applications 4.13 da un precedente rilascio puoi cancellare $KDEHOME/share/apps/nepomuk.
Breve spiegazione
Come spiegato dal glossario la ricerca semantica è correlabile con la classificazione, l'organizzazione e la presentazione di dati. Non è un'applicazione, ma un componente che può essere utilizzato dagli sviluppatori all'interno delle applicazioni.
Provarla in Dolphin
Per esempio Dolphin, il gestore dei file, utilizza la ricerca. Nelle versioni precedenti la 4.13 la ricerca semantica deve essere attivata da . La barra laterale delle informazioni di Dolphin ( o premi F11) presenta le informazioni estratte dalla funzione di ricerca riguardo il file selezionato e ti permette anche di assegnare etichette, valutazioni e commenti ai file. Queste informazioni sono quindi indicizzate e memorizzate dalla funzione di ricerca. Puoi quindi cercare queste informazioni aggiuntive utilizzando la barra di navigazione di Dolphin. Fai clic su o premi Ctrl+F e cerca sulla base del nome dei file o del contenuto.
Funzionalità
La ricerca semantica di KDE offre diversi 'livelli' di funzionalità alle applicazioni: il primo e più semplice di questi è la possibilità di aggiungere manualmente etichette, valutazioni e commenti ai file come avviene in Dolphin. Questa possibilità ti aiuta a trovare più rapidamente i tuoi file, ma richiede molto lavoro da parte tua.
Per rendere più facile la ricerca di file contenti testo, la ricerca offre una seconda funzionalità: l'indicizzazione del contenuto dei file. Puoi così trovare un file a partire da alcune parole che sai essere contenute nel file, ma anche solo da una parte del titolo.
Il terzo livello è molto complesso e spiega la ragione per cui la tecnologia sottostante, Nepomuk, è stata concepita come progetto di ricerca a livello universitario e aziendale nell'Unione Europea. Questo livello è dove puoi trovare termini difficili come 'desktop semantico' e 'ontologie'. Fondamentalmente si tratta di prendere in considerazione il contesto e le relazioni esistenti tra i dati.
Indicizzazione dei file
La funzione di ricerca non indicizza ogni file presente sul disco. La configurazione predefinita nella maggior parte delle distribuzioni Linux esclude alcuni schemi comuni relativi a file di backup e a cartelle di configurazione. Puoi modificare questo comportamento in
. Aggiungi cartelle da escludere. Se vuoi disattivare completamente l'indicizzazione dei file, aggiungi semplicemente la tua cartella home.In Impostazioni di sistema puoi anche scegliere se la ricerca debba indicizzare i file sui dispositivi rimovibili come chiavette USB e CDROM. Questa possibilità non è disponibile in KDE Applications 4.13, i dispositivi rimovibili non vengono indicizzati. Le versioni future reintrodurranno questa funzionalità.
Esempi
Permettimi di cercare di spiegare che cosa offre la ricerca semantica con due esempi. Queste funzioni non sono ancora completamente disponibili, c'è la base, ma gli sviluppatori devono integrarla nelle loro applicazioni.
Relazioni
Diciamo che hai ricevuto una foto da un tuo amico, 2 settimane fa. L'hai salvata da qualche parte sul tuo computer. Ora come fai a trovare quel file? Se non ricordi la posizione sei sfortunato.
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.
Contesto
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.
Ecco quindi un esempio relativo al come il portare consapevolezza del contesto nel tuo desktop potrebbe aiutarti a lavorare in modo più efficiente.
Diciamo che stai lavorando per finire alcune note che hai preso durante un incontro di lavoro. Il telefono squilla e qualcuno ti chiede di trovare quel foglio di calcolo con i prezzi e di sistemarlo per un cliente. Dopo qualche altra interruzione ti ritrovi con un desktop pieno di file e cartelle...
Sarebbe bello essere in grado di organizzare tutto questo un po' meglio, vero?
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.
Se le applicazioni e i desktop fossero coscienti delle attività, potresti creare un'attività per ognuno dei compiti a cui lavori regolarmente. Se quindi devi spesso modificare un foglio di calcolo con prezzi, puoi creare un'attività specifica: posiziona un Vista delle cartelle (o parecchi) sul desktop, aggiungi una calcolatrice e un oggetto per gestire le cose da fare per tenere traccia delle modifiche rimanenti. Forse anche un oggetto per la posta elettronica che mostra i messaggi con domande relative a questi fogli di calcolo!
Non appena qualcuno chiede dei prezzi, passi a questa attività ed avvii la tua applicazione per i fogli di calcolo. Questa è consapevole della tua attività e quindi mostra i fogli di calcolo recenti con i prezzi, non la lista dell'inventario a cui stai lavorando in un'altra attività! Kopete, l'applicazione per la chat, mostra la tua collega che sa tutto dei prezzi, dal momento che lei è la persona con cui comunichi sempre quando lavori a questa attività.
Quando hai finito torni indietro all'altra attività e ancora una volta tutte le applicazioni si adeguano per adattarsi a quello che stai facendo.
I vantaggi di un tale flusso di lavoro basato sulle attività vanno oltre a quello che potresti aspettarti a prima vista. Non solo ti aiuta a trovare file e contattare persone, ma ti aiuta anche a cambiare gli stessi compiti. La mente umana non è fatta per eseguire più cose contemporaneamente, la maggior parte delle persone hanno bisogno di parecchi minuti per prendere il ritmo dopo aver cambiato compito. Cambiare l' "ambiente" aiuta molto nell'accelerare questi tempi, anche se è solo sullo schermo.
Naturalmente quanto sopra è per lo più rilevante per le persone che lavorano dietro i loro computer in ufficio o a casa. Un giocatore o un utente occasionale probabilmente non utilizzerà molto queste attività.
The scenario described above is already partially implemented in the Activities but much work is still left.
Domande frequenti
Quanto segue è tratto da una discussione sul forum di KDE. Sentiti libero di aggiungere/rimuovere/modificare i dettagli se hai tempo a disposizione!
- Cosa sono il desktop semantico Nepomuk e l'indicizzatore di file 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.
- Come posso disattivare il desktop semantico?
- File indexing can be disabled by adding the users' home folder to the . 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 Desktop Search section of System Settings. In case you want to turn off all semantic features, uncheck . Notice that this will turn off search in Dolphin as well.
in the- 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.
- Perché ho alcuni processi nepomukservicestub anche se ho disattivato Nepomuk?
- Potrebbe essere un bug. Per favore crea una segnalazione di bug con una descrizione completa del tuo problema e i passaggi per evidenziarlo.
- L'indicizzazione dei file PDF e di qualche altro tipo di file non funziona.
- L'indicizzazione dei PDF è un problema noto ed è tracciato in questo bug #231936. Se hai problemi con altri file, apri un bug, preferibilmente aggiungendo un file di esempio che mostra il problema.
- Il programma nepomukservicestub si interrompe inaspettatamente all'avvio.
- Per il rilascio 4.7.2 degli ambienti di lavoro e delle applicazioni KDE sono stati corretti numerosi problemi responsabili di crash. Se sperimenti ulteriori problemi, per favore compila una segnalazione di bug con le istruzioni dettagliate su come riprodurre il problema dato che a volte gli sviluppatori non sono in grado di evidenziarli nelle loro prove.
- Il processo virtuoso-t occupa il 100% della 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.
- A volte Nepomuk consuma troppa RAM.
- Molti di questi problemi sono stati risolti, in altri casi tuttavia gli sviluppatori non sono in grado di riprodurre correttamente i problemi. In questo caso fornire esempi e casi di test nelle segnalazioni bug aumenta la possibilità di risolvere questi bug.
- 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.
Risoluzione dei problemi per esperti
Condivisione e riservatezza (privacy)
C'è una cosa che ho bisogno di trattare prima di puntare ad altre fonti di informazione: la condivisione dei dati Nepomuk. Sarebbe fantastico se le tue etichette, valutazioni e commenti potessero essere condivise con altri quando invii a loro i file. Comunque, se hai etichettato un contatto con un'etichetta un po' imbarazzante ('noiosa a letto') e invii le informazioni di questo contatto a un amico comune, probabilmente non vorrai che anche l'etichetta venga inviata...
Questo problema è, ovviamente, stato considerato. Questi problemi relativi alla privacy combinati con sfide tecniche, sono la ragione per cui il contesto di Nepomuk è privato. Stai sicuro che la squadra di Nepomuk fa tutto il possibile perché la tua privacy venga rispettata.
Collegamenti esterni
La nuova tecnologia di ricerca (a partire da KDE Applications 4.13):
- articolo con informazioni per gli utenti
- Informazioni per gli sviluppatori su community.kde.org
- Wikipedia - Semantic Desktop
La vecchia tecnologia di ricerca: