# nepomuksearch

## Översikt

Protokollet nepomuksearch gör det möjligt att söka i Nepomuks metadatalager efter filer eller vilken annan typ av resurs som helst (även om filer är det viktigaste användarfallet, eftersom det handlar om virtuella filsystem här).

För att det ska fungera måste Nepomuk-systemet vara aktiverat. Att aktivera filindexering med Strigi tillhandahåller bättre resultat och mycket fler sökmöjligheter.

Normalt används nepomuksearch osynligt för användaren via ett program som Dolphin, som tillhandahåller grafiska användargränssnittselement för att skapa de förfrågningar som behövs, och motsvarande webbadresser. Dock är det också möjligt att skriva en frågewebbadress för hand. Det finns två olika möjligheter som kan vara av intresse för en användare (var medveten om att förfrågningarna som skapas enligt beskrivningen nedan inte är begränsade till filer):

`nepomuksearch:/?query=Nepomuk`

- söker efter allting som innehåller ordet "Nepomuk". "Nepomuk" kan ersättas med vad som helst som tillåts av enkel query_syntax.

`nepomuksearch:/?sparql=select ?r where { ?r nao:hasTag ?tag . ?tag nao:prefLabel 'Nepomuk'^^xsd:string . }`

- utför SPARQL-förfrågan, som i det här fallet söker efter alla resurser som är betecknade med en etikett benämnd "Nepomuk". Var medveten om att förfrågningen måste vara procentkodad, dvs. en webbadress som `<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>` skulle behöva skrivas som `%3chttp:%2f%2fwww.semanticdesktop.org%2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e`.

## Nepomuk frågesyntax

Syntaxen är ganska enkel. Flera frågetermer kan kombineras med nyckelorden `AND` (och) eller `OR` (eller), termer kan undantas genom att inleda dem med ett minustecken, och särskilda egenskaper kan sökas efter genom att kombinera egenskapens namn med en jämförelseoperator och värdet.

Syntaxen kan också användas i standardsökfält liksom det i Dolphin.

### Exempel

`Nepomuk KDE` eller `Nepomuk AND KDE`

- sök efter allting som innehåller orden "Nepomuk" och "KDE" i någon av sina egenskaper (det inkluderar innehåll i filer).

`Nepomuk OR KDE`

- sök efter allting som antingen innehåller ordet "Nepomuk" eller ordet "KDE" i någon av sina egenskaper.

`"Nepomuk KDE"`

- sök efter allting som innehåller den exakta ordföljden "Nepomuk KDE" i någon av sina egenskaper.

`hastag:Nepomuk`

- sök efter allting som är betecknat med etiketten "Nepomuk".

`+hastag:nepomuk AND -hastag:scribo`

- sök efter allting som är betecknat med etiketten "nepomuk" men inte etiketten "scribo".