# Nepomukova pretraga

## Pregled

Protokol Nepomukove pretrage omogućava traženje fajlova i svih drugih tipova resursa u Nepomukovom skladištu metapodataka. (Fajlovi su doduše najvažniji slučaj, pošto se ovde radi o virtuelnim fajl sistemima.)

Da bi ovo radilo, sistem Nepomuka mora biti aktiviran. Ako je pored toga aktiviran i Strigi (indeksar fajlova) dobijaju se bolji rezultati i mnogo više mogućnosti pretrage.

Upotreba Nepomukove pretrage obično je nevidljiva korisniku, u programima koji pružaju grafičko korisničko sučelje za konstrukciju upita i pripadajućeg URL‑a, poput Dolphina. Međutim, upitni URL može se napisati i ručno. Pritom korisniku mogu biti zanimljive dve mogućnosti (imajte na umu da upiti predstavljeni u narednom nisu ograničeni na fajlove):

`nepomuksearch:/?query=Avala`

- traži sve što sadrži reč „Avala“; na ovom mestu može stajati bilo šta dozvoljeno sintaksom upita.

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

- izvršava SPARQL upit koji traži sve resurse označene oznakom koja ima etiketu „Avala“. Pazite na to da upit mora biti procentno kodiran, tj. URI poput `<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>` morao bi biti zapisan kao `%3chttp:%2f%2fwww.semanticdesktop.org%2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e`.

## Nepomukova sintaksa upita

Sintaksa je prilično jednostavna. Više upitnih izraza može se povezivati ključnim rečima `AND` i `OR`, izrazi se mogu isključivati stavljanjem minusa ispred, a pojedina svojstva mogu se tražiti kombinovanjem imena svojstva sa relacijom poređenja i vrednošću.

Ovakva sintaksa takođe se može koristiti u standardnim poljima za pretragu, kao što je ono u Dolphinu.

### Primeri

`Avala toranj` ili `Avala AND toranj`

- traži sve što sadrži reči „Avala“ i „toranj“ u bilo kom od svojstava (u koja spada i sadržaj fajlova).

`Avala OR toranj`

- traži sve što sadrži ili reč „Avala“ ili reč „toranj“ u bilo kom od svojstava.

`"avalski toranj"`

- traži sve što sadrži tačan izraz „avalski toranj“ u bilo kom od svojstava.

`hastag:toranj`

- traži sve što je označeno i ima oznaku po imenu „toranj“.

`+hastag:toranj AND -hastag:Avala`

- traži sve što ima oznaku „toranj“ ali nema oznaku „Avala“.