# nepomuksearch

## Огляд

За допомогою протоколу nepomuksearch можна виконувати пошук у сховищі метаданих файлів або інших типів ресурсів Nepomuk (хоча робота з файлами є основним призначенням системи, оскільки тут ми описуємо роботу з віртуальними файловими системами).

Для виконання пошуку вам слід активувати систему Nepomuk. Якщо буде також активовано інструмент індексування файлів Strigi, значно покращиться якість результатів та додадуться нові можливості пошуку.

Зазвичай, nepomuksearch використовується прозоро для користувача за допомогою програм, подібних до Dolphin, які надають у розпорядження користувача графічний інтерфейс для побудови запитів та відповідних адрес. Втім, можна створювати адреси запитів і вручну. Існує два варіанти створення таких запитів, які можуть бути цікавими для користувача (пам’ятайте, що запити, подібні до наведених нижче, можна використовувати не лише для файлів):

`nepomuksearch:/?query=Nepomuk`

- виконати пошук всіх записів, що містять слово «Nepomuk». Слово «Nepomuk» можна замінити на будь-який рядок, який відповідає правилам розділу query_syntax.

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

- виконати пошук за запитом SPARQL. У наведеному прикладі буде виконано пошук всіх ресурсів, які позначено міткою з підрядком «Nepomuk». Слід зважати на те, що у запитах слід використовувати екранування символом відсотків, тобто адресу, подібну до `<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>`, слід записувати так: `%3chttp:%2f%2fwww.semanticdesktop.org%2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e`.

## Синтаксис запитів Nepomuk

Синтаксис є доволі простим. Декілька ключів пошуку можна об’єднувати за допомогою ключових слів `AND` (і) або `OR` (або). Результати пошуку за ключем можна виключати додаванням перед ключем пошуку символу мінуса. Можна виконувати пошук за окремими властивостями, якщо поєднати назву властивості з символом порівняння і значенням.

Синтаксичні конструкції пошуку можна використовувати у стандартних полях пошуку графічних програм, зокрема Dolphin.

### Приклади

`Nepomuk KDE` або `Nepomuk AND KDE`

- знайти всі записи, що містять слова «Nepomuk» і «KDE» у будь-яких з властивостей (зокрема у вмісті файлів).

`Nepomuk OR KDE`

- знайти всі записи, що містять слово «Nepomuk» або слово «KDE» у будь-якій з властивостей.

`"Nepomuk KDE"`

- знайти всі записи, що містять фразу «Nepomuk KDE» у будь-якій з властивостей.

`hastag:Nepomuk`

- знайти всі записи з мітками «Nepomuk».

`+hastag:nepomuk AND -hastag:scribo`

- знайти всі запис з міткою «nepomuk», але без мітки «scribo».