# Непомукова претрага

## Преглед

Протокол Непомукове претраге омогућава тражење фајлова и свих других типова ресурса у Непомуковом складишту метаподатака. (Фајлови су додуше најважнији случај, пошто се овде ради о виртуелним фајл системима.)

Да би ово радило, систем Непомука мора бити активиран. Ако је поред тога активиран и Стриги (индексар фајлова) добијају се бољи резултати и много више могућности претраге.

Употреба Непомукове претраге обично је невидљива кориснику, у програмима који пружају графичко корисничко сучеље за конструкцију упита и припадајућег УРЛ‑а, попут Делфина. Међутим, упитни УРЛ може се написати и ручно. Притом кориснику могу бити занимљиве две могућности (имајте на уму да упити представљени у наредном нису ограничени на фајлове):

`nepomuksearch:/?query=Авала`

- тражи све што садржи реч „Авала“; на овом месту може стајати било шта дозвољено синтаксом упита.

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

- извршава СПАРКЛ упит који тражи све ресурсе означене ознаком која има етикету „Авала“. Пазите на то да упит мора бити процентно кодиран, тј. УРИ попут `<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>` морао би бити записан као `%3chttp:%2f%2fwww.semanticdesktop.org%2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e`.

## Непомукова синтакса упита

Синтакса је прилично једноставна. Више упитних израза може се повезивати кључним речима `AND` и `OR`, изрази се могу искључивати стављањем минуса испред, а поједина својства могу се тражити комбиновањем имена својства са релацијом поређења и вредношћу.

Оваква синтакса такође се може користити у стандардним пољима за претрагу, као што је оно у Делфину.

### Примери

`Авала торањ` или `Авала AND торањ`

- тражи све што садржи речи „Авала“ и „торањ“ у било ком од својстава (у која спада и садржај фајлова).

`Авала OR торањ`

- тражи све што садржи или реч „Авала“ или реч „торањ“ у било ком од својстава.

`"авалски торањ"`

- тражи све што садржи тачан израз „авалски торањ“ у било ком од својстава.

`hastag:торањ`

- тражи све што је означено и има ознаку по имену „торањ“.

`+hastag:торањ AND -hastag:Авала`

- тражи све што има ознаку „торањ“ али нема ознаку „Авала“.