Nepomuk

From KDE Wiki Sandbox
Revision as of 21:42, 21 January 2014 by Claus chr (talk | contribs)

Nepomuk

Formålet med denne side er ikke at forklare Nepomun teknologien i alle detaljer, men at give et kort overblik, nogle eksempler, visionerne bag og links til relevant information på nettet.

Kort forklaring

Som nævnt i Ordlisten har Nepomuk at gøre med klassifikation, organisering og præsentation af data. Det er ikke en applikation men en komponent, som kan bruges af udviklere i deres programmer.

Prøv den i Dolphin

For eksempel bruger filmanageren Dolphin Nepomuk. For at kunne prøve det følgende, så skal Nepomuk og Strigi være aktiverede i Systemindstillinger > Skrivebordssøgning. Dolphin's sidepanel Information (Kontrol -> Paneler -> Information eller tast F11) viser information, som Strigi henter frem om den valgte fil og lader dig også knytte mærker, vurderinger og kommentarer til filer. Denne information lagres i Nepomuk og indekseres af Strigi. Du kan søge på metadata i Dolphin's navigationslinje. Klik på Find i værktøjslinjen eller tast Ctrl + F, og søg efter et filnavn eller filindhold.


Funktionaliteter

Nepomuk tilbyder flere 'lag' af funktionalitet til programmer. Det første og enkleste involverer manuel tagging, bedømmelse og kommentering som i Dolphin. Det hjælper dig med at finde filer hurtigere, men kræver meget arbejde.

For at gøre det nemmere at finde tekstfiler tilbyder Nepomuk er anden funktionalitet: indeksering af filernes tekster. Det bruger en teknologi ved navn Strigi til dette. Du kan finde filer ved at søge på nogle ord, som du ved, at de indeholder, eller blot på (en del af) deres titel.

Det tredje lag er meget komplekst og grunden til, at Nepomuk blev skabt af adskillige firmaer og universiteter i EU som et forskningsprojekt. Det er her, du finder vanskelige begreber som 'semantisk skrivebord' og 'ontologier'. Det handler i bund og grund om sammenhænge og beslægtethed.

Indeksering af filer

Strigi indekserer ikke alle filerne på harddisken. Dens standardkonfiguration i de fleste Linux-distributioner udelukker nogle almindelige mønstre for backupfiler og mapper til indstillingsfiler, og indekserer kun visse mapper i din hjemmemappe. Du kan ændre på dette i Systemindstillinger -> Skrivebordssøgning -> Skrivebordssøgning -> Tilpas indeksmapper... -> Mapper der skal indekseres.

Bemærk, at Strigi fra og med KDE 4.7 ikke følger symbolske links (bug #208602). Op til KDE 4.9 vil indhold ikke blive indekseret selv om du vælger mapper til indeksering under det symbolske link. (Et symbolsk link er en fil, som "peger" på en anden fil eller mappe; Dolphin viser symbolske links i kursiv.) Du skal finde stien til der faktiske mappe (i Dolphin markerer du filen og vælger Egenskaber -> Generelt -> Peger på) og beder Strigi om at indeksere den.

I Systemindstillinger kan du også kontrollere om Strigi skal indeksere filer på mobile enheder så som USB-drev og CD-ROM'er.

Eksempler

Lad mig prøve at forklare, hvad Nepomuk kan ved to eksempler.

Beslægtethed

Lad os sige, at du modtog et foto fra en ven for 2 uger siden. Du gemte det et eller andet sted på din computer. Hvordan finder du nu filen? Hvis du ikke kan huske, hvor du gemte den, så har du et problem.

Her prøver Nepomuk at hjælpe dig. Du ved, at filen kom fra den der ven -- det ved computeren ikke; men Nepomuk kan huske 'slægtskabet'. Søger du på din vens navn, så findes fotoet frem!

Andre muligte slægtskaber er mellem en internetside, som du kopierede tekst fra og det dokument, som du satte teksten ind i eller mellem to billeder af den samme bil. Sådanne slægtskaber kan undertiden trækkes ud af filerne selv (du kunne se på fotos hvem eller hvad, der er på dem) eller gives af de involverede programmer (som i email-eksemplet ovenfor). Den del af Nepomuk er stadig under intens udvikling og mangler endnu at blive integreret i programmer, så du må regne med, at der kommer til at gå et par år, før det hele fungerer.

Denne del af Nepomuk handler om smart søgning. Tænk på, hvordan Google prøver at håndtere dine søgninger på en smart måde: når du søger efter et hotel og et bynavn, så får du et bykort, som viser hoteller i den nævnte by oven over de fundne websteder! Hvis du staver forkert, så får du måske et forslag til en bedre stavemåde. Google prøver også at placere de mest relevante informationer først i listen af resultater ved hjælp af komplekse beregninger af slægtskaber (links) mellem websteder. Nepomuk vil også blive i stand til at give smarte søgeresultater ordnet efter relevans ved at bruge information om beslægtethed.

Sammenhænge

Disse slægtskaber kan ikke bare være til hjælp ved søgning efter filer, de kan også have indflydelse på programmer og på hvilken information de fremviser. Bemærk, at denne måde at bruge Nepomuk på stadig er mere vision end realitet! Mange af komponenterne er klar, men de er endnu ikke integrerede i programmerne og skrivebordet som helhed.

Her er et eksempel på, hvordan bevidsthed om sammenhænge kan hjælpe dit skrivebord med at fungere mere effektivt.

Lad os sige, at du er i gang med at færdiggøre nogle noter, som du tog under et møde. Så ringer telefonen, og du bliver bedt om at finde regnearket med priser og tilpasse det til en kunde. Efter endnu et par afbrydelser er dit skrivebord fuldt af filer og vinduer...

Det ville være rart at kunne organisere alt dette lidt bedre, ikke?

Her kommer aktiviteter ind i billedet. De blev introduceret i Plasma og giver indtil videre mulighed for forskellige skriveborde. De minder lidt om virtuelle skriveborde, men her er det skrivebordet selv, som ændres og ikke de programmer som kører på det. Der kan være forskellige widgets, baggrunde og lignende. Fra KDE 4.3 er der dog sammenhæng mellem de to begreber, da de virtuelle skriveborde kan have hver sin aktivitet.

Hvis programmerne og skrivebordet var bevidste om aktiviteter, så kunne du lave en aktivitet for hver af de opgaver, som du regelmæssigt arbejder med. Hvis du for eksempel ofte skal ændre et regneark med priser, så kan du lave en aktivitet til det: læg en Mappevisning (eller flere) på skrivebordet, tilføj en regnemaskine og et gøremålsliste-widget for at holde styr på de ting, som du stadig mangler at ændre. Du vil måske også tilføje et emailmappe-widget, som indeholder mails med spørgsmål om disse regneark med priser!

Når en eller anden spørger dig om en pris, så skifter du til denne aktivitet. Start regnearket - det er bevidst om din aktivitet, så det viser de seneste regneark med priser og ikke den seneste liste over inventar, som du arbejdede på i en anden aktivitet! Chat-programmet Kopete viser dig den kolleger, som ved noget om priser, da du tit chatter med hende, når du arbejder i denne aktivitet.

Når du er færdig, går du tilbage til en anden aktivitet, og igen tilpasser programmerne deres opførsel til, hvad du arbejder med.

Fordelene ved en sådan aktivitets-baseret arbejdsgang går videre end du måske umidelbart forventer. Det hjælper dig ikke bare med at finde filer og kontakte personer, det hjælper også med selve skiftet mellem opgaver. Den menneskelige hjerne er ikke særlig god til at multitaske - de fleste skal bruge adskillige minutter på at komme op i omdrejninger efter at have skiftet til en ny opgave. For at komme hurtigere i gang er det en stor hjælp at skifte omgivelser, også selv om det kun er på skærmen. Sammenlign det med, hvordan du kommer i feriestemning, når du pakker din kuffert!

Dette er selvfølgelig mest relevant for en, der arbejder ved computeren på kontoret eller derhjemme. Hvis du mest spiller computerspil eller blot bruger computeren en gang imellem, så vil du nok ikke få meget brug for aktiviteter.

Bemærk, at scenariet, som blev beskrevet ovenfor stadig er flere år fra at være en realitet. Det meste af den grundlæggende infrastruktur for dette er på plads i KDE, med der mangler stadig meget.

Ofte stillede spørgsmål

Følgende kommer fra et indlæg på KDE's forummer. Hvis du har tid, så må du meget gerne tilføje, fjerne eller ændre detaljer!

Hvad er Nepomuk Semantic Desktop og Strigi Desktop File Indexer?
Nepomuk Semantic Desktop er grundlaget for alle de andre moduler i Nepomuk-infrastrukturen. Den giver dig en måde at organisere, annotere og opbygge sammenhænge imellem data (ikke blot filnavne og indhold, men for eksempel også hvilke programmer, som har brugt en given fil eller hvordan den er mærket). Mange af KDE's programmer og arbejdsflader bruger denne grundlæggende infrastruktur til at frembyde funktioner så som mærkning af emails (KMail) eller opsætning af aktiviteter (Plasma).
Strigi Desktop File Indexer er derimod et system til at indeksere filer, sådan at de kan føjes til Nepomuks hovedlager, en bekvem måde at bruge dem i Nepomuk uden at tilføje filerne manuelt. Desuden kan programmer som Dolphin søge efter filer beseret på deres indhold, navn eller andre metadata (fx mærker) knyttet til de indekserede filer. Sådan en indekser kan også indeksere filer som ikke består af ren tekst så som PDF'er ved at tilgå metadata indeholdt i disse filer (forfatter, udgivelsesinformation osv.). Nogle KDE-komponenter leverer yderligere "analysatorer" for flere filtyper. Nepomuk er fuldt funktionsdygtig uden at bruge filindekseringen, som er en ekstra (og valgfri) komponent.
Hvorfor har vi både brug for Akonadi og Nepomuk? Laver de ikke det samme?
Der er ofte en del forvirring omkring Akonadi og Nepomuk. Why data from Akonadi is indexed in Nepomuk forklarer, hvorfor vi har dem begge og hvad deres roller er. Gå ikke glip af den videre information fra Will Stephenson i kommentarafsnittet.
Hvordan kan jeg slå det semantiske skrivebord fra?
For det meste er det lettest at deaktivere filindeksering, som i regelen er den blandt Nepomuks komponenter, der bruger flest ressourcer (selv om der blev inkluderet mange optimeringer i 4.7-udgaven, hvilket har reduceret ressourceforbruget). Dette gøres ved at fjerne markeringen ved Aktivér Nepomuk filindeksering i afsnittet Skrivebordssøgning i Systemindstillinger. Hvis du skulle ønske at slå alle de semantiske funktioner fra, så fjern markeringen ved Aktivér Nepomuk semantisk skrivebordsmiljø. Bemærk, at dette også vil deaktivere søgning i Dolphin.
Bemærk, at med det sidste fravalg vil nogle programmer, som bruger Nepomuk til metadata få reduceret deres funktionalitet: for eksempel vil KMail ikke kunne mærke mails og Plasma-aktiviteter vil ikke give dig ekstra funktioner så som ikoner eller information om programdata.
Hvorfor kører der nepomukservicestub-processer, selv om jeg har deaktiveret Nepomuk?
Det kan være en fejl. Indsend en fejlrapport med en fuldstændig beskrivelse af dit problem og hvordan du fik det til at dukke op.
Filindeksering af PDF eller en anden filtype virker ikke.
PDF-indeksering er et kendt problem, som kan følges i bug #231936. Hvis du har problemer med andre filer, så start en fejlrapport og vedhæft helst en eksempelfil, som viser problemet.
Programmet nepomukservicestub går ned når maskinen startes op.
Et stort antal problemer med nedbrud er blevet løst i 4.7.2-udgaven af KDE's arbejdsflader og programmer. Hvis du støder på flere, så rapportér fejlen med detaljerede instruktioner om, hvordan problemet kan reproduceres, da udviklerne undertiden ikke kan udløse fejlene i deres egne test-udgaver.
Processen virtuoso-t hænger med 100% CPU.
Virtuoso-t er en central komponent i Nepomuks infrastruktur, og under nogle omstændigheder kommer kommandoer sendt af andre komponenter til at optage for meget tid (med den effekt, at vise 100% CPU-forbrug). Sebastian Trüg (Nepomuks hovedudvikler) har løst de fleste af disse problemer i 4.7.1 og nyere udgaver.
Q. Undertiden bruger Nepomuk for meget RAM.
Mange af disse problemer er blevet rettet; i andre tilfælde har udviklerne dog ikke kunnet reproducere problemerne korrekt. I disse tilfælde forøger du chancen for at få fejlene rettet, hvis du føjer eksempler og testcases til fejlrapporterne.
Nepomuk genindekserer filer ved opstart.
Denne fejl er blever rettet i 4.7.0-udgaven. Nu "scanner" Nepomuk bare efter ændringer uden at indeksere noget.
Nepomuk bruger harddisken for meget ved opstart
I 4.7 og nyere udgaver er dette problem blevet reduceret takket være en reguleringsmekanisme, som er blevet implementeret i filindekseren.
Min Nepomuk-database er blevet ødelagt. Hvordan kan jeg rense den?
I det ekstreme tilfælde, at din database er helt ødelagt og alle andre muligheder er slået fejl kan du slette mappen $KDEHOME/share/apps/nepomuk (hvor $KDEHOME som regel er .kde eller .kde4) imens Nepomuk ikke kører. Databasen vil så blive renset, men du vil også miste eksisterende information som mærker, vurderinger og kommentarer.

Avanceret fejlsøgning

Hvis Nepomuk har problemer med at indeksere en fil så prøv at køre følgende i en terminal:

nepomukindexer /sti/til/fil

og se om det giver noget nyttigt output. Hvis filen ikke kan idekseres, så vil indekseringsfunktionen udskrive en fejlmeddelse, men du vil kun kunne se denne fejl, hvis du har aktiveret fejlmeddelelser for Nepomuk (kdebugdialog). Hvis fejlen er reproducérbar, så rapportér den og upload filensammen med fejlrapporten.

Denne blog-artikel forklarer, hvordan man aktiverer debuggung-output fra Nepomuk-tjemesten.- Den viser også, hvordan man debugger Nepomuks og dens lagringsmotors CPU-forbrug.

Dette blogindlæg forklarer, hvordan man får nyttig information til fejlrapporter om Virtuoso-motorens CPU-forbrug.

Deling og privatliv

Der er en ting, som jeg må gå ind på, før jeg linker til kilder til yderligere information: deling af Nepomuk data. Det ville være smart, hvis dine tags, bedømmelser og kommentarer blev delt med andre, når du sender dem filer; men hvis du tagger en kontaktperson med en pinlig kommentar ('kedelig i sengen') og sender denne persons kontaktinformation til en fælles ven, så vil du nok ikke ønske, at taggen følger med...

Dette spørgsmål bliver selvfølgelig overvejet og er et vigtigt forskningsområde for Nepomuk-forskerne. Indtil videre er Nepomuk-sammenhænge private på grund af ovenstående problem og fordi der er store tekniske udfordringer. Du kan være sikker på, at Nepomuk-teamet gør alt, hvad det kan for at sikre, at dit privatliv bliver respekteret.

Eksterne links