Nepomuk

From KDE Wiki Sandbox
Revision as of 13:44, 11 September 2013 by Drhouse (talk | contribs) (Created page with ":В версии 4.7 и более новых эта проблема была минимизирована благодаря дроссельному механизму, р...")

Nepomuk

Цель данной страницы — не детальное объяснение технологии Nepomuk, а ее краткий обзор, показ отдельных примеров, формирование видения того, что скрывается за ней, предоставление ссылок на соответствующую информацию в Интернете.

Краткое объяснение

Как сказано в Глоссарии речь идет о классификации, организации и представлении данных. Это не приложение, а компонент, который может быть использован разработчиками в приложениях.

Попробуйте сами

Например, Dolphin использует Nepomuk. Чтобы воспользоваться возможностями Nepomuk и Strigi, они должны быть включены в разделе «Параметров системы» под названием «Поиск по меткам и содержимому». Боковая панель позволяет назначать метки файлам, оценивать файлы и добавлять комментарии. Затем эта информация сохраняется в Nepomuk. Затем вы можете выполнять поиск по меткам в панели поиска Dolphin. Введите в строке адреса «nepomuksearch:/» и ключевые слова для поиска.


Функциональность

Nepomuk предлагает приложениям несколько уровней функциональности. Первый и наиболее простой из них, позволяет вручную устанавливать метки, оценки и добавлять комментарии для файлов, как это сделано в Dolphin. Это поможет вам найти ваши файлы быстрее, но требует много ручной работы.

Чтобы сделать поиск текстовых файлов легче, Nepomuk предлагает вторую функциональность: индексирование текста, содержащегося в файлах. Для этого используется технология, называемая Strigi. Теперь вы можете найти эти файлы, введя слова, которые содержатся в этих файлах, или просто название файла (или его часть).

Третий уровень достаточно сложен, не зря Nepomuk задумывался как исследовательский проект рядом компаний и университетов Европейского союза. На этом уровне вы столкнетесь с такими словами и выражениями, как: "семантический рабочий стол" и "онтологии". В основном речь идет о контексте и отношениях.

Индексирование файлов

Strigi не индексирует все файлы на жестком диске. Конфигурация по умолчанию в большинстве дистрибутивов исключает некоторые общие закономерности для резервного копирования файлов и каталогов конфигурации, и это только индексы определенных каталогов в вашем домашнем каталоге. Вы можете изменить это в Параметры системы -> Поиск по меткам и содержимому -> Desktop Query -> Настройка каталогов индекса ... -> Индексируемые каталоги .

Отметим, что по состоянию на KDE 4.7 Strigi не следует по символическим ссылкам (bug #208602). В KDE до версии 4.9, даже если пользователь выбирает папки в символическую ссылку для индексации (bug #287593), содержимое не будет проиндексировано. Данная ошибка была исправлена​​. Таким образом, пользователь сможет увидеть символические ссылки, но ему/ей не будет разрешено отмечать какой-либо из них для индексации. (Символическая ссылка это файл, который «указывает» на другой файл или каталог; Dolphin отображает символические ссылки курсивом) Вам необходимо найти путь к фактическому каталогу (в Dolphin, выберите файл, перейдите к Свойства -> Общие -> Указывать на ) и укажите Strigi проиндексировать его.

В Параметры системы вы также можете управлять поведением Strigi при индексировании файлов на съемных носителях, таких как USB-диски и компакт-диски.

Примеры

С помощью двух примеров поясним, что предлагает Nepomuk.

Отношение

Скажем, 2 недели назад вы получили фотографию своего друга и сохранили ее где-то на компьютере. Теперь вы хотите найти ее. Если вы не помните, где вы ее сохранили, то вам не повезло.

Теперь Nepomuk стремится помочь вам. Вы знаете что файл с фотографией пришел вам от вашего друга, но компьютер ничего об этом не знает. Однако Nepomuk может запомнить это отношение. Для того чтобы найти фото запустите поиск по имени вашего друга.

Другие примеры потенциальных отношений, которые могут быть установлены: между веб страницей, с которой был скопирован текст, и документом, в который этот текст был вставлен или между двумя изображениями одной и той же машины. Такие отношения могут быть определены по содержимому файлов (вы можете просмотреть фото и понять кто или что изображено на них) или установлены использованным приложением (как в случае с примером о электронной почте от друга). Эта часть Nepomuk все еще активно разрабатывается и требует интеграции в приложения. Возможно придется подождать еще несколько лет прежде чем начать использовать эту возможность.

В общем эта часть Nepomuk делает поиск интеллектуальным. Вспомните как Google пытается сделать ваши поисковые запросы более интеллектуальными: когда вы ищете отель в каком либо городе, показываются не только сайты отелей, но и их расположение на google map в том городе что вы указали. Система может даже предложить более удачное название, в случае если вы допустили ошибку. Google также пытается расположить самую релевантную информацию в начале списка результатов, используя сложные расчеты для определения отношений (связей) между веб-сайтами. Nepomuk сможет предложить такой же интеллектуальный поиск и упорядочить результаты по релевантности используя информацию об отношениях.

Контекст

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

Этот пример доставки на рабочий стол информации о контексте может помочь вам работать более эффективно.

Скажем, вы работаете над заметками, которые были сделана на собрании. Раздается телефонный звонок, и кто-то просит вас найти файлы электронных таблиц с ценами, подобранные по клиентам. После некоторого времени вы обнаружите что весь рабочий стол забит файлами и окнами...

Было бы неплохо иметь возможность организовать все это немного лучше, верно?

Создайте 'комнаты (activities)'. Они были введены в концепции Plasma и в настоящее время представляют собой различные 'рабочие столы'. Они чем-то напоминают виртуальные рабочие столы, только в этом случае изменяется сам рабочий стол, а не набор приложений на нем. Комнаты имеют различные виджеты, фоны и т.п. Конечно, начиная с KDE 4.3, у каждого виртуального рабочего стола может быть своя собственная комната, которую он будет синхронизировать с собой.

Чтобы приложения и рабочий стол были в курсе вашей деятельности, вы могли бы создать комнату для каждой часто выполняемой задачи. Следовательно, если вы вынуждены часто править электронные таблицы с ценами, то вы можете создать комнату для этой задачи: поместить на рабочий стол виджет "Просмотр папки" (или несколько), добавить калькулятор и виджет "Список дел", чтобы помнить что еще предстоит изменить. Возможно даже виджет папки электронной почты, чтобы видеть письма с вопросами относительно таблиц с ценами!

Сразу как только кто-то спрашивает о ценах, вы переключаетесь на эту комнату. Запускается приложение электронных таблиц. Т.к. оно в курсе вашей деятельности, то показывает последние таблицы с ценами, а не список последней инвентаризации с которым вы работали в последний раз в другой комнате! Kopete, приложение для обмена мгновенными сообщениями, показывает вам коллегу, которая все знает о ценах, т.к. она тот человек с которым вы постоянно общаетесь, когда работаете в этой комнате.

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

Выгоды от рабочего процесса основанного на комнатах больше чем можно себе представить в начале. Это помогает не только находить файлы и нужные контакты, но также само по себе помогает переключаться между задачами. Человеческий мозг не сильно хорошо приспособлен для "мультизадачности", большинству людей требуется несколько минут чтобы войти в "рабочий режим" после переключения между задачами. Переключение 'среды' здорово помогает в ускорении этого процесса, даже если это всего лишь на экране. Вспомните как приходит отпускное настроение когда вы еще только начинаете начинаете упаковывать сумку!

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

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

Часто задаваемые вопросы

Следующий текст взят из сообщения из форумов KDE. Пожалуйста, не стесняйтесь добавлять/удалять /изменять информацию, если у вас есть время!

Что такое Nepomuk Semantic Desktop и Strigi Desktop File Indexer?

Nepomuk Semantic Desktop является основой всех других модулей инфраструктуры Nepomuk. Он дает возможность организовать, комментировать и строить отношения среди данных (не только имя файла и содержание, но, например, то, какие приложения использовали определенный файл, или как он был помечен). Ряд приложений KDE и рабочие области используют эту базовую инфраструктуру для доставки функций, таких как пометка писем (KMail) или настройка комнат (Plasma).

С другой стороны, Strigi Desktop File Indexer представляет собой систему индексирования файлов, таким образом, они могут быть добавлены в основное хранилище Nepomuk удобным способом, для того, чтобы использовать их в Nepomuk без их добавления вручную. Кроме того, приложения, такие как Dolphin могут производить поиск файлов на основе содержания, имени или других мета-данных (например, тегов), связанных с индексированными файлами. Индексатор также может индексировать нетекстовые файлы, такие как PDF-файлы, обращаясь к мета-данным, содержащимся в этих файлах (автор, публикуемая информация и т.д.). Некоторые компоненты KDE поставляют дополнительные «анализаторы» для нескольких типов файлов. Nepomuk может быть полностью функциональным без использования индексатора файлов, который является дополнительным (и опциональным) компонентом.

Зачем нам нужны Akonadi и Nepomuk? Разве они не делают одно и то же?

Зачастую существует много путаницы насчет Akonadi и Nepomuk. Ресурс Почему данные из Akonadi индексируются в Nepomuk доходчиво объясняет, почему у нас есть и другое, и какова их роль. Не упустите дополнительную информацию от Уилла Стивенсона в разделе комментариев.
Как мне отключить semantic desktop?
В большинстве случаев, самым простым способом является отключение индексации файлов, которая, как правило, находится между компонентами Nepomuk, весьма охотлива на использование ресурсов (тем не менее, множество оптимизаций было реализовано в версии 4.7, что привело к снижению использования ресурсов). Это можно выполнить, сняв флажок с Включить службу индексирования файлов Nepomuk в разделе Поиск по меткам и содержимому Параметров системы. В случае, если вы хотите отключить все семантические особенности, снимите флажок Включить службу Nepomuk . Обратите внимание, что это действие также отключит поиск в Dolphin.
Обратите внимание, что с последней опцией некоторые программы, которые используют Nepomuk по метаданным, предложат ограниченную функциональность: например KMail не сможет помечать письма, или например, Plasma activities не станет предлагать дополнительные функции например, пиктограммы, или данные о программах.
Почему я вижу процесс nepomukservicestub, хотя я отключил Nepomuk?
Это может быть программной ошибкой. Пожалуйста, создайте отчет об ошибке с полным описанием вашей проблемы и необходимыми шагами для ее воспроизведения.
Индексирование PDF файлов/некоторых других типов файлов не работает.
Индексирование PDF это известная проблема, и отслеживается в bug #231936. Если у вас есть проблемы с другими файлами, создайте отчет об ошибке, предпочтительно добавив образец проблемного файла.
Приложение nepomukservicestub падает при запуске.
Большое количество исправлений от падений была зафиксировано для релиза 4.7.2 KDE Workspaces and Applications. Если вы столкнулись с ними больше, создайте отчет об ошибке с подробными инструкциями о том, как воспроизвести проблему, так как иногда разработчики не в состоянии воспроизвести их в своих инсталляциях.
Процесс virtuoso-t зависает при 100% загрузке процессора.
Virtuoso-t является ключевым компонентом инфраструктуры Nepomuk, и в некоторых случаях обработка команд, получаемых от других компонентов занимает слишком много времени (и, что следовательно, выявляется в виде процессора на 100%). Себастьян Труг (ведущий разработчик Nepomuk) исправил большинство из этих проблем в 4.7.1 или более новой.
Иногда Nepomuk потребляет слишком много оперативной памяти.
Большинство из этих проблем было исправлены, однако в некоторых случаях, разработчики не в состоянии корректно воспроизвести проблемы. В этом случае, прикладывание примеров и тестов к отчетам об ошибке увеличивает шансы на исправление этих ошибок.
Nepomuk повторно индексирует файлы при запуске.
Эта ошибка была исправлена ​​в версии 4.7.0. Теперь Nepomuk просто "сканирует" на наличие изменений, без индексирования чего-либо.
Nepomuk обращается к диску слишком много при запуске.
В версии 4.7 и более новых эта проблема была минимизирована благодаря дроссельному механизму, реализованому в индексаторе файлов.
My Nepomuk database has been corrupted. How do I clean it?
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.

Advanced troubleshooting

If Nepomuk has trouble indexing a file, in a terminal try running

nepomukindexer /path/to/file

and see if there's any useful output. If the file cannot be indexed, the indexer will print an error, but you will only see that error if you have debug messages for Nepomuk enabled (kdebugdialog). If the error is reproducible, please file a bug and upload the file along with the error.

This blog post explains how to turn on debugging output from the Nepomuk service. It also shows how to debug the CPU usage of Nepomuk and its storage backend.

This blog post explains how to extract useful information for bug reports about the CPU usage of the Virtuoso backend.

Совместное использование и конфиденциальность

Существует еще одна вещь которую стоит упомянуть, прежде чем дать ссылки на другие источники информации: совместное использование данных Nepomuk. Это было бы здорово, если бы вы могли совместно использовать теги, оценки и комментарии с другими, когда отправляете им файлы. Однако, если вы пометили контакт немного фривольным тегом ('скучно в кровати') и посылаете эту контактную информацию общему другу, то вы вероятно не захотите, чтобы этот признак был тоже отправлен...

Эта проблема является важным предметом для исследования в Nepomuk. В настоящее время, из за существования проблем конфиденциальности и ряда технических вопросов контекст Nepomuk остается конфиденциальным. Будем пребывать в уверенности что команда Nepomuk сделает все возможное, чтобы ваша частная жизнь уважалась.

Дополнительная информация:
Википедия - NEPOMUK (рус.)
Wikipedia - Semantic Desktop
Wikipedia - NEPOMUK Framework
Сайт NEPOMUK
Сайт NEPOMUK в проекте KDE
Статья о Nepomuk на DOT KDE