Nepomuk

From KDE Wiki Sandbox
Revision as of 18:04, 8 October 2011 by Claus chr (talk | contribs) (Importing a new version from external source)

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

Prøv den

Dolphin bruger for eksempel 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 lader dig knytte tags, vurderinger og kommentarer til filer. Denne information lagres i Nepomuk og indekseres af Strigi. Du kan søge på metadata i Dolphin's navigationslinje - skriv "nepomuksearch:/" efterfulgt af søgeordet.

Funktionaliteter

Nepomuk tilbyder flere 'lag' af funktionalitet til applikationer. 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. Nu kan du også 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.

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 applikationer (som i email-eksemplet ovenfor). Den del af Nepomuk er stadig under intens udvikling og mangler endnu at blive integreret i applikationer, 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å applikationer 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 applikationerne 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 applikationer 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 applikationerne 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-applikationen 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 applikationerne 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!

Q. Hvad er Nepomuk Semantic Desktop og Strigi Desktop File Indexer?

A. 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 giben fil eller hvoran 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. å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, somer en ekstra (og valgfri) komponent.

Q. Hvordan kan jeg slå det semantiske skrivebord fra?

A. For det meste er det lettest at deaktivere filindeksering, som i regelen er den blandt Nepomuks komponenter, der bruger flest ressourcer (selv om mange optimeringer er inkluderet i 4.7-udgaven, som reducerer ressourceforbruget). Dette gøres ved at fjerne markeringen ved Aktivér Strigi skrivebordsfilindeksering 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.

Q. Hvorfor kører der nepomukservicestub-processer, selv om jeg har deaktiveret Nepomuk?

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

Q. Filindeksering af PDF eller en anden filtype virker ikke.

A. PDF-indeksering er et kendt problem, som kan følges i denne fejlrapport. Hvis du har problemer med andre filer, så start en fejlrapport og vedhæft helst en eksempelfil, som viser problemet.

Q. Programmet nepomukservicestub går ned når maskinen startes op.

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

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.

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.

Mere information (på engelsk):
Wikipedia - Semantic Desktop
Wikipedia - NEPOMUK Framework
NEPOMUK websted
NEPOMUK KDE websted
Artikel på DOT'en, som forklarer Nepomuk