# nepomuksearch

## Panoramica

Il protocollo `nepomuksearch` permette di cercare, nella banca dei metadati Nepomuk per file o ogni altro tipo di risorsa (anche se i file sono il caso più importante perché qui si parla di filesystem virtuali).

Perché funzioni, deve essere attivo il sistema Nepomuk. L'attivazione dell'indicizzatore di file Strigi produce risultati migliori e molte più possibilità di ricerca.

Tipicamente, `nepomuksearch` viene usato invisibilmente all'utente con un'applicazione come &dolphin;, che fornisce gli elementi grafici per costruire l'interrogazione e l'&URL; corrispondente. Tuttavia, è anche possibile scrivere un &URL; di interrogazione a mano. Ci sono due diverse possibilità che potrebbero interessare l'utente (attenzione che le interrogazioni create come mostrato sotto non si limitano ai file):

`nepomuksearch:/?query=Nepomuk`

- cercherà per qualsiasi cosa contenente la parola Nepomuk. Nepomuk può essere sostituito da qualsiasi cosa permessa dal semplice query_syntax.

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

- eseguirà l'interrogazione SPARQL che in questo caso cerca tutte le risorse indicate con l'etichetta Nepomuk. Nota che l'interrogazione deve essere codificata con segni di percentuale, cioè un URI come `<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>` deve essere scritto `%3chttp:%2f%2fwww.semanticdesktop.org%2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e`.

## Sintassi delle interrogazioni di Nepomuk

La sintassi è abbastanza semplice. Si possono combinare più termini di interrogazione con `AND` o `OR`; i termini possono essere esclusi prefiggendoli con un segno meno, e si possono cercare delle proprietà specifiche combinando il nome della proprietà con un operatore di confronto e un valore.

La sintassi si può usare anche nei normali campi di ricerca, come quello di &dolphin;.

### Esempi

`Nepomuk KDE` o `Nepomuk AND KDE`

- cerca tutte le cose contenenti le parole Nepomuk e KDE in una qualsiasi delle loro proprietà (ciò include i contenuti dei file).

`Nepomuk OR KDE`

- cerca tutte le cose contenenti una tra le parole Nepomuk e KDE in una qualsiasi delle loro proprietà.

`"Nepomuk KDE"`

- cerca tutte le cose contenenti l'esatta espressione Nepomuk KDE in una qualsiasi delle loro proprietà.

`hastag:Nepomuk`

- cerca tutte le cose indicate con un'etichetta chiamata Nepomuk.

`+hastag:nepomuk AND -hastag:scribo`

- cerca tutte le cose indicate con un'etichetta chiamata Nepomuk, ma senza un'etichetta chiamata scribo.