<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY % addindex "IGNORE">
<!ENTITY % Ukrainian "INCLUDE">
<!-- change language only here -->
]>

<article lang="&language;" id="nepomuksearch">
  <title
>nepomuksearch</title>
  <articleinfo>
    <authorgroup>
      <author
><personname
> <firstname
>Sebastian</firstname
> <surname
>Tr&uuml;g</surname
> </personname
> <email
>trueg@kde.org</email
> </author>
      <othercredit role="translator"
><firstname
>Юрій</firstname
><surname
>Чорноіван</surname
><affiliation
><address
><email
>yurchor@ukr.net</email
></address
></affiliation
><contrib
>Переклад українською</contrib
></othercredit
> 
    </authorgroup>

    <date
>2010-09-10</date>
    <releaseinfo
>1.0.0</releaseinfo>
  </articleinfo>

  <sect1>
    <title
>Огляд</title>

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

    <para
>Зазвичай, <acronym
>nepomuksearch</acronym
> використовується прозоро для користувача за допомогою програм, подібних до <application
>Dolphin</application
>, які надають у розпорядження користувача графічний інтерфейс для побудови запитів та відповідних адрес. Втім, можна створювати адреси запитів і вручну. Існує два варіанти створення таких запитів, які можуть бути цікавими для користувача (пам’ятайте, що запити, подібні до наведених нижче, можна використовувати не лише для файлів):</para>
    <variablelist>
      <varlistentry>
        <term>
          <userinput
>nepomuksearch:/?query=Nepomuk</userinput>
        </term>
        <listitem>
          <para
>виконати пошук всіх записів, що містять слово «Nepomuk». Слово «Nepomuk» можна замінити на будь-який рядок, який відповідає правилам розділу <xref linkend="query_syntax"/>.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <userinput
>nepomuksearch:/?sparql=select ?r where { ?r nao:hasTag ?tag . ?tag nao:prefLabel 'Nepomuk'^^xsd:string . }</userinput>
        </term>
        <listitem>
          <para
>виконати пошук за запитом <acronym
>SPARQL</acronym
>. У наведеному прикладі буде виконано пошук всіх ресурсів, які позначено міткою з підрядком «Nepomuk». Слід зважати на те, що у запитах слід використовувати екранування символом відсотків, тобто адресу, подібну до <userinput
>&lt;http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag&gt;</userinput
>, слід записувати так: <userinput
>%3chttp:%2f%2fwww.semanticdesktop.org%2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e</userinput
>.</para>
        </listitem>
      </varlistentry>
    </variablelist>

  </sect1>

  <sect1 id="query_syntax">
    <title
>Синтаксис запитів Nepomuk</title>
    <para
>Синтаксис є доволі простим. Декілька ключів пошуку можна об’єднувати за допомогою ключових слів <command
>AND</command
> (і) або <command
>OR</command
> (або). Результати пошуку за ключем можна виключати додаванням перед ключем пошуку символу мінуса. Можна виконувати пошук за окремими властивостями, якщо поєднати назву властивості з символом порівняння і значенням.</para>
    <tip>
      <para
>Синтаксичні конструкції пошуку можна використовувати у стандартних полях пошуку графічних програм, зокрема <application
>Dolphin</application
>.</para>
    </tip>
    <sect2>
      <title
>Приклади</title>
      <variablelist>
        <varlistentry>
          <term
><userinput
>Nepomuk KDE</userinput
> або <userinput
>Nepomuk AND KDE</userinput
> </term>
          <listitem>
            <para
>знайти всі записи, що містять слова «Nepomuk» і «KDE» у будь-яких з властивостей (зокрема у вмісті файлів).</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>
            <userinput
>Nepomuk OR KDE</userinput>
          </term>
          <listitem>
            <para
>знайти всі записи, що містять слово «Nepomuk» або слово «KDE» у будь-якій з властивостей.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>
            <userinput
>"Nepomuk KDE"</userinput>
          </term>
          <listitem>
            <para
>знайти всі записи, що містять фразу «Nepomuk KDE» у будь-якій з властивостей.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>
            <userinput
>hastag:Nepomuk</userinput>
          </term>
          <listitem>
            <para
>знайти всі записи з мітками «Nepomuk».</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>
            <userinput
>+hastag:nepomuk AND -hastag:scribo</userinput>
          </term>
          <listitem>
            <para
>знайти всі запис з міткою «nepomuk», але без мітки «scribo».</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>
  </sect1>

</article>
