Nepomuk

From KDE Wiki Sandbox
Revision as of 17:36, 7 October 2011 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Nepomuk

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

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

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

Як спробувати Nepomuk

Nepomuk використано у Dolphin. Щоб познайомитися з можливостями, вам слід увімкнути Nepomuk і Strigi у Системних параметрах -> Додатково -> Стільничний пошук. За допомогою бічної панелі Dolphin ви зможете призначати мітки, оцінки та коментарі. Ці дані буде збережено у Nepomuk та проіндексовано Strigi. Після завершення індексування ви зможете шукати файли за метаданими за допомогою панелі навігації Dolphin. Достатньо ввести "nepomuksearch:/" і ключове слово пошуку.

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

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

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

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

Приклади

Давайте спробуємо розібратися з можливостями Nepomuk на двох прикладах.

Зв’язки

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

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

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

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

Контекст

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

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

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

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

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

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

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

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

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

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

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

Frequently Asked Questions

The following is taken from a KDE forums post. Please feel free to add/remove/modify details if you have the time!

Q. What is the Nepomuk Semantic Desktop, and the Nepomuk File Indexer?

A. The Nepomuk Semantic Desktop is the foundation of the all the other modules of the Nepomuk infrastructure. It provides a way to organize, annotate and build relationships among the data (not only file name and content, but for example which applications used a certain file, or how it is tagged). A number of KDE applications and workspaces use this basic infrastructure to deliver features such as email tagging (KMail) or activity setup (Plasma).

On the other hand, the Nepomuk File Indexer is a system to index files so that they can be added to the main Nepomuk repository, a convenient way to use them within Nepomuk without adding any file manually. Also, applications such as Dolphin can then search for files basing on content, name, or other meta-data (e.g. tags) associated to indexed files. Such an indexer can also index non-text files, such as PDFs, by accessing the meta-data contained in these files (author, publication information, etc.). Some KDE components ship additional "analyzers" for more file types. Nepomuk can be fully functional without the use of the File Indexer, which is an additional (and optional) component.

Q. How can I disable the semantic desktop?

A. Most of the times, the easiest way is to disable file indexing, which is usually, among the Nepomuk components, the heavier in resource usage (although many optimizations have been included in the 4.7 release which reduce resource usage). This is done by unchecking Enable Nepomuk File Indexer in the Desktop Search section of System Settings. In case you want to turn off all semantic features, uncheck Enable Nepomuk semantic desktop. Notice that this will turn off search in Dolphin as well.

Notice that with the latter option some programs who use Nepomuk for meta-data will offer reduced functionality: for example KMail will not be able to tag mail, or Plasma activities will not offer additional features such as icons, or program data information.

Q. Why do I have nepomukservicestub processes even though I've disabled Nepomuk?

A. It may be a bug. Please file a bug report with a complete description of your problem and the steps to trigger it.

Q. File indexing of PDF/some other file types doesn't work.

A. PDF indexing is a known issue and it's being tracked at this bug report. If you have issues with other files, open a bug, preferably adding a sample file that shows the problem.

Q. The program nepomukservicestub crashes at startup.

A. A large number of fixes for crashes has been fixed for the 4.7.2 release of the KDE Workspaces and Applications. If you encounter more, please file bugs report with detailed instructions on how to reproduce the problem, as sometimes the developers are unable to trigger them in their test setups.

Q. The virtuoso-t process hangs at 100% CPU.

A. Virtuoso-t is a key component of the Nepomuk infrastructure and in some occasions the commands sent by the other components end up taking too much time (hence showing the effect of 100% CPU). Sebastian Trüg (the lead developer of Nepomuk) has fixed most of these problems in 4.7.1 or newer.

Q. Sometimes Nepomuk consumes too much RAM.

A. Many of these problems have been fixed, in other cases however the developers are unable to reproduce the issues correctly. In this case, providing examples and test cases to bug reports increase the chances to get these bugs fixed.

Q. Nepomuk re-indexes files at startup.

A. This bug has been fixed in 4.7.0 versions. Now Nepomuk just "scans" for changes, without indexing anything.

Q. Nepomuk accesses the disk too much on startup.

A. In 4.7 and newer this problem has been lessened thanks to a throttling mechanism implemented in the file indexer.

Q. My Nepomuk database has been corrupted. How do I clean it?

A. In the extreme case your database is really corrupted and all other attempts have failed, you can delete the $KDEHOME/share/apps/nepomuk directory (where $KDEHOME is usually .kde or .kde4) while Nepomuk is not running. The database will be cleared, but you will also lose existing information such as tags, ratings and comments.

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

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

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

Інші джерела даних:
Вікіпедія — Семантична стільниця 
Вікіпедія — Оболонка NEPOMUK 
Веб-сайт NEPOMUK
Сайт KDE NEPOMUK
Стаття з поясненням можливостей Nepomuk на DOT KDE