Nepomuk

From KDE UserBase Wiki
This page is a translated version of the page Nepomuk and the translation is 99% complete.

Historic page

This page is of historic interest only. The content of the page is obsolete.


Семантичний пошук

Метою створення цієї сторінки не є розгорнутий опис технології семантичного пошуку у KDE з усіма можливими подробицями. На цій сторінці ви знайдете лише короткий огляд, декілька прикладів та загальний опис призначення технології, а також посилання на пов’язані з нею ресурси у мережі.

Baloo — семантичний пошук нового покоління

Починаючи з версії збірки програм KDE 4.13, Nepomuk замінено на систему індексування файлів та пошуку Baloo. Ознайомитися зі змінами у комплекті програм 4.13 можна details тут. Засіб семантичного пошуку не використовує однієї великої бази даних. Замість неї використовуються декілька окремих спеціалізованих баз даних для кожного з типів даних. Нові бази даних для пошуку зберігаються у $HOME/.local/share/baloo. Якщо ви оновилися до версії програм KDE 4.13, можете вилучати теку $KDEHOME/share/apps/nepomuk.

Короткий опис

Як ми вже зазначали у глосарії, семантичний пошук призначено для класифікування, впорядкування та показу даних. Семантичний пошук не є якоюсь окремою програмою, але компонентом, яким можуть скористатися розробники програмного забезпечення.

Як спробувати семантичний пошук у Dolphin

Семантичний пошук використано у Dolphin. Щоб познайомитися з можливостями, вам слід увімкнути семантичний пошук на сторінці Системних параметрах -> Додатково -> Стільничний пошук. За допомогою бічної панелі Dolphin (Керування -> Панелі -> Інформація або натисніть F11) буде показано дані, видобуті засобом пошуку щодо вибраного файла, а також можете призначати мітки, оцінки та коментарі. Ці дані буде збережено у базі даних та проіндексовано для пошуку. Після завершення індексування ви зможете шукати файли за метаданими за допомогою панелі навігації Dolphin. Достатньо скористатися натиснути кнопку Пошук... або натиснути комбінацію клавіш Ctrl+F і виконати пошук за назвою або вмістом файла.


Функціональні можливості

Семантичний пошук KDE надає програмам декілька «шарів» функціональних можливостей. Першим і найпростішим з них є визначення міток, оцінок і коментарів файлів вручну, як це можна зробити у Dolphin. Визначені метадані допоможуть вам пришвидшити пошук файлів, але для їх створення потрібні значні зусилля.

Щоб спростити пошук файлів з відповідним текстом, у засобах пошуку передбачено іншу функціональну можливість: індексування текстового вмісту файлів. У разі її використання знайти файл можна буде на основі декількох слів, які, як ви пам’ятаєте, містяться у ньому, або просто частиною його назви.

Третій шар є дуже складним, саме через нього Nepomuk, технологія, що лежить в основі засобів семантичного пошуку, вважається дослідницьким проектом декількох компаній та університетів Європейської Союзу. Цей шар пов’язано з такими складними поняттями, як «семантична стільниця» та «онтології». Його використання передбачає встановлення контекстів і зв’язків між даними.

Індексування файлів

Засоби пошуку не виконує індексування геть усіх файлів на жорсткому диску. За типових налаштувань у більшості дистрибутивів Linux буде виключено типові файли резервних копій та каталоги налаштувань. Змінити поведінку системи можна за допомогою пункту Системні параметри -> Стільничний пошук. Додайте теки, які слід виключити з пошуку. Якщо ви хочете вимкнути пошук взагалі, додайте домашню теку вашого користувача.

За допомогою Системних параметрів можна також визначити, чи буде семантичний пошук індексувати файли на портативних носіях даних, зокрема дисках USB та компакт-дисках. У збірці програм KDE 4.13 доступу до портативних носіїв немає, індексування даних на цих носіях не відбувається. У майбутніх версіях планується повторне впровадження цієї функціональної можливості.

Приклади

Давайте спробуємо розібратися з можливостями семантичного пошуку на двох прикладах. Повноцінного доступу до цих можливостей ще немає, — основа вже на місці, але розробникам слід впровадити її до програм.

Зв’язки

Припустімо, ви два тижні тому отримали фотографію, зроблену вашим другом чи подругою. Ви зберегли дані зображення десь на вашому комп’ютері. Як же знайти файл, якщо ви на пам’ятаєте, куди його було збережено?

Семантичний пошук допоможе вам у пошуку. Ви, звичайно ж, знаєте ім’я того, хто надіслав файл, але комп’ютер про це нічого не знає. Засоби семантичного пошуку допоможуть комп’ютерові відновити зв’язок між, скажімо, ім’ям та адресою файла. Достатньо буде вказати ім’я вашого друга чи подруги і у результатах пошуку за метаданими буде показано потрібну вам фотографію!

Іншим потенційним зв’язком є зв’язок між веб-сторінкою, з якої ви скопіювали фрагмент тексту, і документом, куди ви вставили цей текст, або між двома знімками одного автомобіля. Дані про такі зв’язки іноді можна видобути з самих файлів (ви можете проаналізувати фотографії і встановити, що саме на них зображено) або даних програм, за допомогою яких було виконано обробку файлів (див. приклад з зображенням, надісланим електронною поштою). Розробка відповідної частини засобів семантичного пошуку все ще триває. Потрібна інтеграція до програм, отже повної реалізації доведеться чекати декілька років.

Щоб там ми не говорили, цю частину засобів семантичного пошуку призначено для інтелектуалізації пошуку. Вона чимось подібна до тої системи, яку Google використовує у власному пошуковому рушії: якщо ви шукаєте назву готелю або міста, рушій покаже над списком результатів пошуку карту google з готелями, які ви шукали! Система навіть може запропонувати точнішу назву, якщо ви припустилися помилки під час введення. Крім того, Google намагається подати найточніші відповідники на початку списку результатів на основі складних обчислень та взаємозв’язків (посилань) між сайтами. засоби семантичного пошуку зможуть подавати подібні результати і впорядковувати їх за відповідністю на основі даних про взаємзв’язок.

Контекст

Дані щодо зв’язків не лише допоможуть вам у пошуку файлів, але і зможуть вплинути на роботу програм та показані ними дані. Зауважте, що, таким чином, використання засобів семантичного пошуку надасть вам більше даних, ніж ви навіть могли припустити! Багато компонентів системи вже реалізовано, але ще не інтегровано з програмами та стільницею.

Наведемо приклад прив’язки стільниці до контексту. Така прив’язка допоможе вам працювати ефективніше.

Припустімо, ви працюєте над якимись нотатками для робочої зустрічі. Дзвонить телефон, хтось просить вас знайти електронну таблицю з цінами на продукцію і створити з неї цінник для покупця. Після декількох подібних прохань, які перериватимуть вашу роботу, на стільниці буде відкрито цілу купу файлів та вікон...

Хотілось би впорядкувати все це кращим чином, чи не так?

Ви можете скористатися 'просторами дій'. Ці простори було введено до Плазми на заміну «стільницям». Простори дій чимось подібні до віртуальних стільниць, але зі зміною наборів програм. Інші віджети, тло стільниці тощо. Починаючи з KDE 4.3, кожну віртуальну стільницю може бути пов’язано з простором дій, отже можлива синхронізація цих двох компонентів середовища.

Оскільки програми і стільниці пов’язано з просторами дій, ви можете створити простір дій для кожного завдань, які вам доводиться регулярно виконувати. Отже, якщо вам часто доводиться працювати з електронною таблицею цін, ви можете створити простір дій для цієї роботи: відкрийте на стільниці віджет перегляду тек (або декілька таких віджетів), додайте віджет калькулятора та віджет стеження за завданнями, щоб стежити за ще не виконаною роботою. Можливо, вам захочеться відкрити віджет електронної пошти зі списком повідомлень, що стосуються електронних таблиць цін!

Якщо хтось надішле запит щодо цін, ви перемкнетеся на відповідний простір дій і відкриєте програму для роботи з електронними таблицями. Програму буде пов’язано з простором дій, отже у ній ви побачите електронні таблиці з останніми даними щодо цін, а не складськими фактурами, над якими ви працюєте у іншому просторі дій! У Kopete буде відкрито вікно балачки з вашим колегою, який володіє інформацією щодо цін, саме відповідний обліковий запис буде пов’язано з цим простором дій.

Коли ви завершите роботу, можна повернутися до іншого простору дій. Всі програми змінять свої параметри відповідно до відкритого простору дій з певною функціональною прив’язкою.

Переваги такої заснованої на просторах дій роботи не обмежуються наведеним вище прикладом. Подібне впорядкування роботи допоможе вам не лише у пошуку файлів та записів контактів, але і у перемиканні між самими завданнями. Мозку людини важко впоратися з виконанням декількох завдань одночасно, — більшості людей потрібно декілька хвилин на адаптацію до нового завдання. Зміна «середовища» значно пришвидшує цей процес, навіть якщо всі зміни обмежуються екраном комп’ютера. Це можна порівняти з покращенням настрою під час пакування речей перед відпусткою!

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

Описані вище можливості вже частково реалізовано у системі просторів дій, але для завершення роботи потрібно ще багато зусиль.

Поширені питання та відповіді на них

Наведені нижче дані взято з допису на форумі KDE. Будь ласка, додавайте ваші пункти до списку, вилучайте застарілі пункти та вносьте зміни, якщо маєте на те бажання!

Яка відмінність між семантичною стільницею Nepomuk та інструментом індексування файлів Nepomuk (Strigi)?
Nepomuk і Strigi є технологічною частиною того, що забезпечує роботу можливостей семантичного пошуку у KDE. Обидва ці засоби не використовуються безпосередньо у останній версії засобів семантичного пошуку KDE (подробиці), але їхні наступники містять багато коду та концепцій своїх попередників. За допомогою засобів семантичного пошуку можна впорядковувати, анотувати та створювати зв’язки між даними (не лише назвою файла і його вмістом, але, наприклад, тим, у яких програмах використано певний файл, або мітками цього файла). Програми і робочі простори KDE використовують цю базову інфраструктуру для реалізації своїх можливостей, зокрема додавання міток до повідомлень електронної пошти (KMail) або налаштування просторів дій (Plasma).
За допомогою індексування програми, зокрема Dolphin, можуть виконувати пошук за вмістом, назвою або іншими метаданими (наприклад мітками), пов’язаними з індексованими файлами. Такий засіб індексування може виконувати обробку не лише текстових файлів, але і файлів PDF, отримуючи доступ до метаданих, що зберігаються у цих файлах (даних щодо автора, публікації тощо). У деяких компонентах KDE передбачено додаткові «аналізатори» для інших типів файлів.
Akonadi і засоби семантичного пошуку, навіщо вони? Вони виконують одне і те саме завдання?
Якщо коротко, Akonadi забезпечує зберігання кешу особистих даних, зокрема записів календаря, контактів та повідомлень електронної пошти. Збережені дані використовуються програмами, зокрема KMail та Korganizer, а також вбудованим календарем Плазми. Семантичний пошук вбудовується до Akonadi для забезпечення функціональних можливостей пошуку. Спосіб надання даних пошуку Baloo визначається самою програмою. У випадку KDE PIM для забезпечення індексування та пошуку використовується Xapian.
Як вимкнути семантичну стільницю?
Вимкнути індексування файлів можна вимкнути додаванням домашньої теки користувача на сторінці Системні параметри -> Стільничний пошук -> Не виконувати пошук у цих місцях. Інші функціональні можливості є частинами програм, які користуються семантичним пошуком, отже не можуть бути вимкнені без певного ушкодження цих програм. Наприклад, щоб усунути можливості пошуку у KMail, вам слід вилучити пакунок KMail...

Починаючи з версії збірки програм KDE 4.13, семантичний пошук містить компоненти, які працюють окремо від інших програм. Ці функціональні можливості можна вимкнути зняттям позначки з пункту Увімкнути засіб індексування файлів Nepomuk у розділі Стільничний пошук програми Системні параметри. Якщо ви хочете вимкнути усі можливості семантичного пошуку, зніміть позначку з пункту Увімкнути семантичну стільницю Nepomuk. Зауважте, що це призведе до вимикання можливості пошуку у Dolphin.

Слід зауважити, що у разі вибору останнього варіанта, деякі з програм, які використовують засоби семантичного пошуку для зберігання метаданих, матимуть звужені можливості: у KMail не можна буде визначати мітки для повідомлень електронної пошти, а у просторах дій Плазми не можна буде скористатися додатковими можливостями, зокрема піктограмами та даними щодо програм.
Baloo/Семантичний пошук навантажує процесор системи на 100%! Що робити?
Просто чекати. Вміст деяких файлів важко або навіть неможливо індексувати. У поточній версії, наприклад, не індексуються текстові файли, обсяг яких перевищує 50 МБ. Якщо засобом пошуку буде виявлено такі файли, спроби індексування виконуватимуться протягом фіксованого часу. Якщо спроби виявляться невдалими, засіб спробує виявити файл, який не вдається індексувати, і вимкнути його індексування у майбутньому. Оскільки виконується пакетне індексування до 40 файлів одночасно, засіб індексування шукає проблемний файл поділом такого пакета на частини: перша половина або друга половина, далі поділена на частини проблемна половина, аж доки файл не буде знайдено. Такий пошук може тривати 30 хвилин із значним споживанням потужностей процесора. На жаль, доки Baloo не розпочато індексування наступного пакета у 40 файлів під час роботи від акумулятора, засіб індексування продовжуватиме спроби виявити пошкоджений файл. Цю ваду було виправлено у збірці програм KDE 4.13.1 (засіб негайно припиняє індексування, якщо буде виявлено від’єднання від шнура живлення від мережі), а час пошуку кожного файла зменшено до приблизно 10 хвилин. Команда розробників засобу семантичного пошуку працює над покращенням засобів індексування у роботі зі складними файлами.
Питання. Чому я бачу у списку процесів nepomukservicestub навіть після вимикання Nepomuk?
Можливо, причиною є певна вада. Будь ласка, повідомте про неї, надавши повний опис вашої проблеми та кроки з її відтворення.
Індексування файлів PDF або інших типів не працює.
Проблема з індексуванням PDF є відомою, за її виправленням можна стежити на сторінці вада №231936. Якщо у вас виникають проблеми з файлами інших типів, створіть повідомлення про ваду. Буде добре, якщо ви додасте зразок файла, за допомогою якого можна буде відтворити проблему.
Програма nepomukservicestub завершує роботу у аварійному режимі після запуску системи.
Багато вад, пов’язаних з аварійним завершенням роботи, було виправлено у випуску 4.7.2 KDE. Якщо вашу проблему не було виправлено, будь ласка, створіть звіт щодо вади з докладними настановами щодо відтворення проблеми, оскільки іноді розробникам не вдається відтворити проблему у призначених для цього тестових системах.
Процес virtuoso-t споживає 100% процесорного часу.
Virtuoso-t є ключовим компонентом інфраструктури попередньої версії семантичного пошуку. За певних обставин команди, надіслані іншими компонентами, призводять до значних затримок з обробкою (у цей час система споживає 100% потужностей процесора).

Virtuoso не використовується засобами семантичного пошуку, починаючи з випуску комплекту програм 4.13.

Іноді Nepomuk споживає занадто багато оперативної пам’яті.
Значну частину цих проблем було усунуто, але деякі проблеми розробникам не вдалося відтворити. Надання прикладів та настанов щодо відтворення у звітах щодо вад збільшує ймовірність виправлення цих вад.
Чому засоби семантичного пошуку під час запуску блокує своїми запитами доступ до диска?
У засобі індексування файлів реалізовано механізм гальмування; версії, починаючи з KDE SC 4.8, не повинні мати цієї вади.
Мою базу даних семантичного пошуку було пошкоджено. Як спорожнити базу даних?
Якщо вашу базу даних серйозно пошкоджено, нічого вже не може врятувати дані, ви можете вилучити каталог $KDEHOME/share/apps/nepomuk (де $KDEHOME зазвичай ~/.kde або ~/.kde4 у домашній теці вашого користувача), коли Nepomuk буде вимкнено. Базу даних буде спорожнено, але ви також втратите всі дані, що було зібрано, зокрема мітки, оцінки і коментарі.

Додаткові можливості з усування вад

Оприлюднення даних і конфіденційність

І ще одна річ, якої хотілось би торкнутися перед наведенням інших джерел інформації: оприлюднення даних Nepomuk. Іноді буває корисним, якщо ваші мітки, оцінки та коментарі буде надіслано іншим користувачам разом з файлами. Але якщо ви раптом зробили мітку, яка може образити того, кому ви надсилаєте файл (наприклад, мітка «колода у ліжку» для фотографії), ви навряд чи захочете, щоб її було надіслано разом зі знімком того, кому ви надіслали файл...

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

Інші джерела даних

Статті щодо нової технології пошуку (починаючи з випуску збірки програм KDE 4.13):

Статті щодо попередніх версій системи семантичного пошуку: