Ни для кого не секрет, что львиная доля проектов, связанных с Semantic Web, разрабатывается на Java. Фреймворки для работы с семантическими онтологиями не являются исключением: все основные проекты (Jena, OWL API, Sesame и т. д.) написаны именно на Java. Единственным серьезным представителем, использующим .NET, является фирма Intellidimension с продуктами RDF Gateway и Semantics.SDK.

В этой статье опишу свой опыт работы с вышеуказанными фреймворками и поделюсь результатами тестирования.
Читать продолжение »

База знаний DMOZ – основа для приложений Semantic Web

Open Directory Project (ODP, Открытый Каталог (ODP)), также известный как  DMOZ (от одного из своих первых доменных имён directory.mozilla.org) — многоязычный свободный каталог ссылок на сайты всемирной паутины, принадлежащий AOL и поддерживаемый сообществом добровольных редакторов.

deepdmoz7a

Итак, чем может быть полезен DMOZ для нас - разработчиков приложений Semantic Web?

Ответ прост - Все содержимое DMOZ доступно в виде троек RDF, при чем отдельно можно получить доступ как к структуре каталога, так и к его содержимому.

Структура каталога DMOZ представляет собой мультиязычный набор иерархически организованных категорий. Причем русскоязычная часть хорошо проработана и может быть использована для разработки специализированных русскоязычных приложений. Отмечу, что каталог, как и его русскоязычная ветвь, активно развивается. Загрузить наиболее  "свежую" структуру и содержимое DMOZ (Open Directory RDF Dump) можно отсюда!

Кроме того, хотел обратить внимание читателей SHCHERBAK.NET на то, что DMOZ мультиязычный каталог, а дамп этого каталога в виде RDF представляет собой наглядный пример как можно связывать понятия на различных языках в виде единой онтологии.


SHCHERBAK.NET одобрен и зарегистрирован в DMOZ.

В рамках этой инициативы планируется перевести интерфейс редактора онтологий Protege на украинский и русский языки.

Первым шагом стал перевод базового интерфейса Protege и подготовка неофициального файла локализации на русском языке.

Подробнее

JADE и Semantic Web

Направление мультиагентных систем (МАС) возникло на стыке различных направлений, таких как искусственный интеллект, параллельное программирование, Интернет коммуникации, и в настоящее время стремительно развивается. МАС строятся из множества взаимодействующих агентов (зачастую представляющих собой полноценные интеллектуальные системы), совместно решающих поставленную задачу в распределенных средах.
Основным элементом программного агента системы, дающим ему возможность принимать решения, планировать действия, взаимодействовать с другими агентами, является онтологическая база знаний, содержащая модели концептуальных понятий, отношений предметной области и правила для анализа и ситуативной ориентации.
Программные агенты должны сыграть ведущую роль в Semantic Web. Однако пока большинство проектов посвященных МАС находятся на исследовательской стадии.
Можно найти и проекты, которые объявляют о готовности использования агентов в коммерческих целях. Такой пример можно посмотреть на сайте проекта Magenta.
«Magenta Toolkit многократно применялся для решения широкого спектра задач планирования и распределения ресурсов, а также для разработки Интернет-приложений, основанных на концепциях Web 3.0 и Semantic Web.»
Там же можно попросить Magenta Toolkit «в академических научно-исследовательских и образовательных целях». Кстати, планирую это сделать=))) Интересно посмотреть.
Среди других проектов можно выделить  наиболее популряный - JADE. Проект JADE идет по пути разработки фреймворка для построения МАС.
Основной упор делается на специфические аспекты взаимодействия агентов, такие как обмен сообщениями, кодировка и парсинг, жизненный цикл агентов и т.д.
А как же Semantic Web?
Semantic Web для агента - отличнейшее поле для деятельности.
А вот если проект SW? Нужны ли ему на данном этапе агенты(вообще агенты и агенты jade в частности)? Тут, конечно, все зависит от специфики приложения. Выбор агентного подхода должен быть четко обоснован при рассмотрении других альтернатив.

Что говорит википедия:

"Multi-agent systems are applied in the real world to graphical applications such as computer games. Agent systems have been used in films.They are also used for coordinated defence systems. Other applications include transportation, logistics, graphics, GIS as well as in many other fields. It is widely being advocated for use in networking and mobile technologies, to achieve automatic and dynamic load balancing, high scalability, and self-healing networks."

Т.е. последнее замечание в некоторой степени касается и SW.  И я бы сказала, есть некоторый акцент на слове "advocated".

Что же предосталяет JADE(конкретно из того что могло бы быть полезно для приложений SW):

1)поддержка онтологий(jade.content package), которые агенты могут использовать для обмена сообщениями. Можно создать онтологию в Protégé а потом Beangenerator автоматически создаст "ontology definition class and the predicates, agent actions and concepts classes".

Beangenerator здесь. Написано что работает для protege 3.2.1 и след версий. Для OWL-онтологий с багами:). Для Protege 4 вроде не работает(по крайней мере у меня), а хотелось бы

2)есть интеграция с Jess - агенту можно прикрутить логический вывод

3) есть RDFCodec и AgentOWL

4) Простой пример использование jade  для выполнения простых SPARQL-запросов к http://dbpedia.org/sparql можно посмотреть тут.

Из примера видно, что jade по сути ничего для SPARQL и не предоставляет. А может, это и не надо? Для этого есть Jena к примеру.

5) JADE-агента достаточно легко развернуть как web-service(WSIG add-on)

6) Отдельным плюсом jade является интеграция с jsp(лучше бы конечно jsf:) При этом агент контролирует все запросы к странице.

Что еще хотелось бы, так это веб-интерфейс мониторинга и управления агентами.


надеюсь, эта информация будет вам полезной=)

немного об авторе review здесь

Semantic Web vs Web of Data?

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


Все, что ниже написано, это мои рассуждения на тему веба данных и семантик веб, и имеет очень косвенное отношение собственно к сообществу веба данных. Я сам являюсь участником этого сообщества и рад тому, что оно создано. Давно пора )

Почему сообщества веба данных, а я говорю о развитии технологий Семантик Веб, а все просто, в последнее время, во многих зарубежных статьях активно продвигается термин "веб данных" (web of data), как ассоциация с понятием "Семантический Веб". Несмотря, на кажущуюся одинаковость этих понятий, эти понятия не являются эквивалентными. Да, в рамках концепции связанных данных (LinkedData) можно провести много параллелей между вебом данных и семантическим вебом, но разница то все таки есть... Начиная с основных акцентов в названии... По сути - веб данных - это связанные данные, но главный акцент Семантического Веба не на данные, которые связанные через Веб, а на знания (семантику данных), которые распределены по Веб. Вроде бы это одно и тоже - вот только данные, как факты о реальном мире, это часть знаний, распределенных по Веб. Часть!!!

А с другой стороны, данные - это вообще не знания - а структурированная информация, то есть веб данных - это структурированная информация, связанная между собой через Веб. А структура, всем известно, легко описывается в XML, и даже RDF, не надо привлекать. И связи через WEB в XML создаются легко через XLINK и XPointer. В контексте этих технологий я бы воспринял веб данных (конечно не как семантический веб, а как концепцию, имеющую право на жизнь)

Конечно, есть еще RDF, как связанные между собой ресурсы (семантические графы), и до появления RDFS не являющийся полноценной реализацией объектно-ориентированной системы (пусть и распределенной по веб). Но даже здесь RDF - это данные - факты о мире - ресурсы, как наборы связанных между собой экземляров классов. Но это же, один из нижних уровней Semantic Web (посмотрите по ссылке в википедии на рисунок стека понятий семантической паутины (семантического веба)). Нижних уровней!

Я, конечно понимаю, маркетинг это страшная сила. Так было, когда искусственный интеллект застрял в развитии - придумали онтологии и семантическую сеть (семантик веб), который можно населить интеллектуальными агентами (неявно подразумевая создание ИИ, только потом...). Два года назад Семантик Веб застрял в развитии, пропустив вперед web 2.0 и социальные сети. А теперь пришло время веба данных - время низкоуровневого семантического веба.

Но я, как и надеюсь, большинство читателей SHCHERBAK.NET, считаю,

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

Но всегда, есть другая сторона - я, как человек, работающий над проблемами онтологий и семантического веба почти уже десять лет, считаю, что Веб, может стать действительно семантическим, если внедрение Семантического Веба будет идти через положения инициативы Интеллектуального Веба (Intelligent Web). Вот это будет качественный рывок вперед!!! Рывок в мир агентов "Смитов" :grin:


Мой и путь развития сайта SHCHERBAK.NET можно выразить в двух словах так:

"Semantic Web - > Intelligent Web"

Семантическая Паутина. Часть 3

== Семантическая Паутина. Часть 3 ==

Жишкевич Николай

Я продолжаю рассказ о технологиях, которые составляют ядро Семантической Паутины. В прошлый раз я завершил краткое введение в RDF и рассказал о проекте Dublin core. Сегодня фокус внимания будет посвящен FOAF, XFN, openid, социальным сетям.

Люди – социальные существа: любят жить в коллективе, общаться, распространять сплетни и обсуждать других. К этому можно относиться по разному: осуждать бездельников, которые тратят свое или (что еще ужаснее) время вашего работодателя на бесконечных “одноклассниках” или “в-контактах”. Можно восхищаться новыми возможностями открытого обсуждения и обмена опытом. А можно просто делать деньги. Читать продолжение »