Nepomuk

From KDE Wiki Sandbox
Revision as of 18:50, 30 December 2012 by Caig (talk | contribs) (Created page with "{{Input|1=xmlindexer ''/percorso/del/file'' > /tmp/test.xml}} genera una rappresentazione XML di alcune delle informazioni estratte da un file. Puoi visualizzare questi dati i...")

Nepomuk

Lo scopo di questa pagina non è spiegare completamente la tecnologia Nepomuk in ogni dettaglio, ma di fornirne una breve panoramica, alcuni esempi, condividerne la visione alla base e segnalare alcuni collegamenti a informazioni pertinenti presenti sul web.

Breve spiegazione

Come spiegato dal glossario Nepomuk è 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.

Provarlo in Dolphin

Per esempio Dolphin, il gestore dei file, utilizza Nepomuk. Prima di procedere Nepomuk e Strigi devono essere attivati da Impostazioni di sistema -> Ricerca desktop. La barra laterale delle informazioni di Dolphin (Visualizza -> Pannelli -> Informazioni o premi F11) presenta le informazioni estratte da Strigi riguardo il file selezionato e ti permette anche di assegnare etichette, valutazioni e commenti ai file. Queste informazioni sono quindi memorizzate in Nepomuk e indicizzate da Strigi. Puoi quindi cercare queste informazioni aggiuntive utilizzando la barra di navigazione di Dolphin. Seleziona Modifica -> Trova... o premi Ctrl+F e cerca sulla base del nome dei file o del contenuto.


Funzionalità

Nepomuk 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, Nepomuk offre una seconda funzionalità: l'indicizzazione del contenuto dei file. Per effettuare questa operazione utilizza una tecnologia chiamata Strigi. 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 Nepomuk è stato concepito 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

Strigi non indicizza ogni file presente sul disco. La sua configurazione predefinita nella maggior parte delle distribuzioni Linux esclude alcuni schemi comuni relativi a file di backup e a cartelle di configurazione e inoltre include solo certe cartelle nella tua cartella home. Puoi modificare questo comportamento in Impostazioni di sistema -> Ricerca desktop -> Interrogazione da desktop -> Personalizza le cartelle indicizzate... -> Cartelle da indicizzare.

Nota che Strigi, così come in KDE 4.9, non segue i link simbolici (bug #208602), lo stesso vale se viene selezionata per l'indicizzazione una sottocartella di un link simbolico (bug #287593). (Un link simbolico è un file che punta ad un altro file o ad una cartella: Dolphin mostra i link simbolico in corsivo). Per permettere l'indicizzazione in Nepomuk, quindi, devi indicare il percorso reale (in Dolphin seleziona il file e scegli Proprietà -> Generali -> Punta a. Se l'indicizzazione continua a non funzionare controlla che la destinazione non sia a sua volta un ulteriore link simbolico in quanto essi possono essere anche annidati).

In Impostazioni di sistema puoi anche scegliere se Strigi debba indicizzare i file sui dispositivi rimovibili, come drive USB e CDROM.

Esempi

Permettimi di cercare di spiegare che cosa offre Nepomuk con due esempi.

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.

Lo scopo di Nepomuk è aiutarti. Sai che questo file viene da quel tuo amico, il tuo computer invece no. Nepomuk, comunque, può ricordare questa relazione. Pertanto, facendo una ricerca con il nome del tuo amico, quella foto salterà fuori!

Un'altra potenziale relazione è tra una pagina web da cui hai copiato del testo e il documento in cui lo hai incollato o due immagini che mostrano la stessa auto. Tali relazioni a volte possono essere estratte dagli stessi file (potresti analizzare le foto e vedere chi e cosa c'è) o fornite dalle applicazioni coinvolte (come nell'esempio sopra sul messaggio di posta). Questa parte di Nepomuk è ancora in attivo sviluppo e necessita di integrazione nelle applicazioni, quindi puoi aspettarti che sia necessario ancora qualche anno perché realmente splenda il tutto.

Riassumendo, questa parte di Nepomuk è legata al rendere intelligente la ricerca. Pensa a come Google cerca di essere intelligente nel gestire le tue ricerche: quando cerchi un hotel e il nome di una città ti mostra, sopra i risultati web, una mappa di google con gli hotel presenti nella città che hai digitato! Potrebbe anche suggerirti un nome migliore nel caso in cui commetti un errore di ortografia. Google inoltre cerca di mettere le informazioni più rilevanti in cima alla lista dei risultati, utilizzando calcoli complessi legati alle relazioni (collegamenti) tra i siti web. Nepomuk sarà in grado di offrire questo tipo di risultati intelligenti e di ordinarli sulla base della pertinenza utilizzando le relazioni tra essi.

Contesto

Queste relazioni possono non solo aiutarti durante la ricerca dei file, ma anche influire sulle applicazioni e sulle informazioni da esse mostrate. Nota che questa modalità di utilizzo di Nepomuk è ancora più una visione che una realtà! molti dei componenti sono a posto, ma non sono ancora integrati nelle applicazioni e nell'intero desktop.

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?

Accedi alle 'attività'. Queste sono state introdotte in Plasma e attualmente offrono differenti 'desktop'. Sono un po' come i desktop virtuali, ma il desktop cambia, non l'insieme delle applicazioni. Diversi oggetti, sfondi, cose del genere. Naturalmente, da KDE 4.3, ogni desktop virtuale può avere la propria attività, sincronizzando in due approcci.

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

Nota che lo scenario descritto sopra è ancora ben lontano dalla realtà. Gran parte delle necessarie infrastrutture di base in KDE sono a posto, ma manca ancora molto.

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!

D. Cosa sono il desktop semantico Nepomuk e l'indicizzatore di file Strigi?

R. Il desktop semantico Nepomuk è la base di tutti gli altri moduli dell'infrastruttura Nepomuk. Fornisce un modo per organizzare, annotare e creare relazioni tra i dati (non solo il nome del file e il contenuto, ma per esempio anche quali applicazioni utilizzano un certo file o come è etichettato). Varie applicazioni e ambienti di lavoro KDE utilizzano questa infrastruttura di base per fornire funzionalità come le etichette per i messaggi di posta elettronica (KMail) o la definizione delle attività (Plasma).

Dall'altra parte l'indicizzatore di file Strigi è un sistema per indicizzare i file in modo che possano essere aggiunti al repository principale di Nepomuk, un modo comodo per utilizzarli all'interno di Nepomuk senza aggiungere alcun file manualmente. Inoltre le applicazioni come Dolphin possono fare ricerche tra i file sulla base del contenuto, del nome o di altre informazioni aggiuntive (esempio etichette) associate ai file indicizzati. Questo indicizzatore può anche indicizzare i file non di testo come i PDF accedendo alle informazioni aggiuntive contenute in questi file (autore, informazioni di pubblicazione, ecc.). Alcuni componenti di KDE forniscono inoltre degli "analizzatori" per ulteriori tipi di file. Nepomuk può essere completamente funzionale senza l'utilizzo dell'indicizzatore dei file che è un componente aggiuntivo (e opzionale).

D. Come posso sapere se Strigi ha indicizzato un file?

R. In Dolphin, seleziona il file. Se il panello delle informazioni mostra "Creato il" e altre metainformazioni che variano a seconda del tipo di file (es. informazioni EXIF per le foto) allora il file è stato indicizzato da Strigi.

D. Come posso disattivare il desktop semantico?

R. Il più delle volte il modo più facile è disattivare l'indicizzazione del file che di solito è, tra i componenti di Nepomuk, quello più pesante in termini di utilizzo delle risorse (sebbene siano state incluse molte ottimizzazioni nel rilascio 4.7 che riducono l'utilizzo di risorse). Puoi disattivarlo deselezionando Abilita l'indicizzatore di file del desktop Strigi nella sezione Ricerca desktop di Impostazioni di sistema. In caso tu voglia disattivare tutte le funzionalità semantiche, deseleziona Abilita il desktop semantico Nepomuk. Nota che questo disattiverà anche la ricerca in Dolphin.

Nota che con l'ultima opzione alcuni programmi che utilizzano Nepomuk per le informazioni aggiuntive offriranno funzionalità ridotte: per esempio KMail non sarà in grado di etichettare i messaggi o le attività di Plasma non offriranno le funzioni aggiuntive come le icone o le informazioni dei dati dei programmi.

D. Perché ho alcuni processi nepomukservicestub anche se ho disattivato Nepomuk?

R. Potrebbe essere un bug. Per favore compila una segnalazione di bug con una descrizione completa del tuo problema e i passaggi per evidenziarlo.

D. L'indicizzazione dei file PDF e di qualche altro tipo di file non funziona.

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

D. Il programma nepomukservicestub si interrompe inaspettatamente all'avvio.

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

D. Il processo virtuoso-t occupa il 100% della CPU.

R. Virtuoso-t è un componente chiave dell'infrastruttura Nepomuk e in alcuni casi i comandi inviati da altri componenti finiscono per prendere troppo tempo (mostrando quindi l'effetto 100% della CPU). Sebastian Trüg (lo sviluppatore capo di Nepomuk) ha risolto la maggior parte di questi problemi nella 4.7.1 o successive.

D. Talvolta Nepomuk consuma troppa RAM.

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

D. Nepomuk ri-indicizza i file all'avvio.

R. Questo bug è stato risolto nelle versioni 4.7.0. Ora Nepomuk "cerca" semplicemente eventuali cambiamenti senza indicizzare nulla.

D. Nepomuk accede al disco in modo eccessivo all'avvio.

R. Nella 4.7 e successive questo problema è stato attenuato grazie a un meccanismo di controllo implementato nell'indicizzatore dei file.

D. Il mio database Nepomuk si è danneggiato. Come lo correggo?

R. Nel caso estremo in cui il tuo database sia effettivamente danneggiato e tutti gli altri tentativi siano falliti, puoi cancellare la cartella $KDEHOME/share/apps/nepomuk (dove $KDEHOME è di solito .kde o .kde4) quando Nepomuk non è in esecuzione. Il database verrà svuotato, ma perderai anche le informazioni esistenti come etichette, giudizi e commenti.

Risoluzione dei problemi per esperti

Se Nepomuk incontra dei problemi nell'indicizzazione di un file, prova ad eseguire in una finestra del terminale (es. konsole)

nepomukindexer /path/to/file

e leggi se ci sono informazioni utili. In particolare puoi voler confrontare l'output con quello di un altro file, indicizzato con successo.

xmlindexer /percorso/del/file > /tmp/test.xml

genera una rappresentazione XML di alcune delle informazioni estratte da un file. Puoi visualizzare questi dati in un visualizzatore XML come il browser e confrontarli con il risultato ottenuto per un file simile. (xmlindexer potrebbe trovarsi in un pacchetto differente e opzionale nella tua distribuzione Linux, per esempio in Ubuntu si trova nel pacchetto strigi-utils.)

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.

Questo articolo spiega come estrarre informazioni utili per le segnalazioni dei bug relativi all'utilizzo della CPU del backend Virtuoso.

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