# nepomuksearch

## Overzicht

Het nepomuksearch-protocol stelt u in staat in de Nepomuk-metagegevensopslag of enig ander type hulpbron te zoeken (hoewel bestanden het meest belangrijke gebruik is omdat we hier praten over virtuele bestandssystemen).

Om het te laten werken moet het Nepomuk-systeem geactiveerd zijn. Activeren van de Strigi-bestandenindexeerder geeft betere resultaten en veel meer zoekmogelijkheden.

Typisch is dat nepomuksearch transparant door de gebruiker wordt gebruikt via een applicatie als Dolphin die GUI-elementen levert om de benodigde zoekopdracht en de bijbehorende URL. Het is echter ook mogelijk om een zoekopdracht-URL handmatig te maken. Er zijn twee verschillende mogelijkheden die voor de gebruiker interessant kunnen zijn (wees u ervan bewust dat de hieronder getoonde zoekopdrachten niet beperkt zijn tot bestanden):

`nepomuksearch:/?query=Nepomuk`

- zal naar alles zoeken wat het woord "Nepomuk" bevat. "Nepomuk" kan vervangen worden door wat de eenvoudige query_syntax toestaat.

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

- de SPARQL zoekopdracht zal uitvoeren die in dit geval zoekt naar alle hulpbronnen die een tag met het label "Nepomuk" hebben. Merk op dat de zoekopdracht met procenten gecodeerd moet worden, &ie; een URI zoals `<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>` zou moeten worden geschreven als `%3chttp:%2f%2fwww.semanticdesktop.org %2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e`.

## Nepomuk zoeksyntax

De syntax is tamelijk eenvoudig. Meervoudige zoektermen kunnen worden gecombineerd met de trefwoorden `AND` of `OR`, termen kunnen worden uitgesloten door ze vooraf te laten gaan door een minteken en specifieke eigenschappen kunnen gezocht worden door de naam van de eigenschap te combineren met vergelijkingsaanduiding en de waarde.

Deze syntax kan ook worden gebruikt in standard zoekvelden zoals die van Dolphin.

### Voorbeelden

`Nepomuk KDE` of `Nepomuk AND KDE`

- zoekt naar alles wat de woorden "Nepomuk" en "KDE" bevat in elk van hun eigenschappen (dit omvat de inhoud van bestanden).

`Nepomuk OR KDE`

- zoekt naar alles wat ofwel het woord "Nepomuk" of het woord "KDE" bevat in elk van hun eigenschappen.

`"Nepomuk KDE"`

- zoekt naar alles wat exact de tekst "Nepomuk KDE" bevat in elk van hun eigenschappen.

`hastag:Nepomuk`

- zoekt naar alles wat de tag genaamd "Nepomuk" als tag heeft gekregen.

`+hastag:nepomuk AND -hastag:scribo`

- zoekt naar alles wat de tag genaamd "Nepomuk" als tag heeft gekregen maar geen tag genaamd "scribo" heeft.