Разработка веб-приложений на основе онтологий и

advertisement
УДК 004.4(06) Технологии разработки программных систем
П.А. ШАПКИН
Научный руководитель – В.Э. ВОЛЬФЕНГАГЕН, д.т.н., профессор
Национальный исследовательский ядерный университет «МИФИ»
РАЗРАБОТКА ВЕБ-ПРИЛОЖЕНИЙ НА ОСНОВЕ
ОНТОЛОГИЙ И СЕМАНТИЧЕСКИХ ШАБЛОНОВ
Предлагается метод построения веб-ориентированных информационных систем на основе онтологии
предметной области. Новизна предлагаемого подхода заключается в построении формальных моделей, позволяющих связывать функционал системы, выражаемый программным кодом, со структурой предметной
области, выражаемой концептами онтологии.
Развитие интернет-технологий привело к появлению новых форматов, направленных на представление
смысла, или семантики данных. Данные форматы составляют основу инициативы «семантического интернета». Для представления данных с учетом их семантики используется язык RDF [1], позволяющий описывать данные в виде семантических сетей, строящихся из троек объект, атрибут, значение . Схемы данных
для семантического интернета определяются в виде онтологий на языке OWL [2]. Онтология представляет
собой формальное описание предметной области в виде определений используемых понятий (концептов) и
их свойств (ролей). Содержательно концепт представляет собой набор ограничений, выполнение которых
означает, что объект предметной области (индивид) является экземпляром данного концепта. В основе языка описания онтологий OWL лежит формальная система, называемая дескрипционной логикой (ДЛ) [3], что
дает возможность строить различные формы логических выводов на концептах. Большинство форм выводов на онтологиях используют тот факт, что отношение вложенности концептов является вычислимым.
Онтологии предоставляют разработчикам гибкий метод описания данных и метаданных моделей предметных областей. Однако, они еще не получили широкого применения в разработке веб-приложений. Отчасти это обуславливается отсутствием методов осуществления управляемых онтологиями вычислений на
данных в формате RDF.
Один из существующих методов разработки программных систем на основе онтологий — преобразование иерархии концептов в иерархию классов объектно-ориентированного языка. Такой подход имеет ряд
недостатков. Основные из них заключаются в фундаментальных различиях между концептами и классами в
объектно-ориентированном программировании (ООП), таких как вычислимость иерархии концептов, отсутствие жесткой связи концептов с экземплярами и т. п.
В данной работе предлагается подход, основанный на понятии семантических шаблонах — операциях,
связываемых с концептами онтологии. Набор семантических шаблонов, выполняющих одни и те же по
смыслу операции для разных концептов, объединяется в шаблонную систему. При применении шаблонной
системы к индивиду выполняется шаблон, концепт которого наиболее близок данному индивиду. Построение алгоритма, гарантирующего выбор такого шаблона, является составной частью рассматриваемой работы.
Если рассматривать неформальное соответствие концептов классам в ООП, то шаблонным системам в
ООП соответствуют методы, а отдельным шаблонам, в них входящим — реализации методов для конкретных классов. Процесс применения шаблонной системы к индивиду и выбора наиболее специфичного шаблона соответствует диспетчеризации методов в ООП. Если учесть, что концепты могут быть представлены
предикатами, то становится ясно, что такая диспетчеризация является подвидом предикатной диспетчеризации [4].
Рассмотренный подход дает ряд преимуществ при разработке сложных веб-ориентированных информационных систем. Во-первых, использование стандартов семантического интернета делает элементарной
интеграцию системы во всемирную сеть. Во-вторых, использование онтологии в качестве основной модели
данных позволяет осуществлять управление функционалом системы на основе метаданных. В-третьих, использованный подход схож с подходом ООП и может использоваться для создания программных библиотек, связанных с онтологией предметной области, что позволяет упростить поиск необходимых компонентов и во многом автоматизировать компоновку сложных систем, что крайне важно для больших организаций.
Список литературы
1. Декер C., Мельник C., ван Хермелен Ф. и др. Semantic web: роли XML и RDF // Открытые системы.
2001. 9. http://www.osp.ru/os/2001/09/180411/.
OWL,
язык
веб-онтологий.
Руководство.
Рекомендация
http://sherdim.rsu.ru/pts/semantic_web/REC-owl-guide-20040210_ru.html.
2.
W3C
10
февраля
2004.
УДК 004.4(06) Технологии разработки программных систем
3. Baader F. The Description Logic Handbook: Theory, Implementation, and Applications / F. Baader. — Cambridge University Press, 2007. 622 p.
4. Ernst M., Kaplan C., Chambers C. Predicate dispatching: A unified theory of dispatch// Lecture Notes in Computer Science. 1998. Vol. 1445. pp. 186–211.
Related documents
Download