РЕДАКТОР МЕТАМОДЕЛИ ОНТОЛОГИЧЕСКОЙ СИСТЕМЫ
УДК 681.3
ГОУ ВПО «Уральский федеральный университет имени первого Президента Ельцина», Нижнетагильский технологический институт (фил.). Факультет экономики и менеджмента, кафедра информационных технологий, доцент. Россия. Нижний Тагил. *****@***com
Рост объема информационных потоков породил смещение в сторону разработки крупных информационных систем – корпоративных порталов. В решении проблем, связанных с эффективностью проектировании, реализации и сопровождении порталов, все шире используются возможности, предоставляемые семантическими модели на базе онтологии (онтологические модели). Для создания и поддержки онтологий существует целый ряд инструментов, которые помимо общих функций редактирования и просмотра выполняют поддержку документирования онтологий, импорт и экспорт онтологий разных форматов и языков, поддержку графического редактирования, управление библиотеками онтологий и т. д. В тоже самое время появилась тенденция к поддержке онтологических моделей в системах управления контентом (CMS), являющихся основой для построения современных веб-приложений. Такая поддержка в настоящее время в определенной степени реализована в CMS Drupal, Django и некоторых других. Использование таких моделей переводит веб-приложения в категорию онтологоуправляемых информационных систем, что требует разработки соответствующих инструментов управления.
Редактор онтологий - приложение, поддерживающее создание онтологий или манипулирование ими[1]. Онтологический редактор может предоставлять различные возможности работы с одним или несколькими языками представления онтологий, импорт/экспорт, средства библиотек онтологий, визуализацию, машины вывода, языки запросов, поддержу онтологий верхнего уровня и другое. Основная функция любого редактора онтологий состоит в поддержке процесса формализации знаний и представлении онтологии как спецификации (точного и полного описания). Существующие веб-редакторы онтологий, в частности веб-версия хорошо известного редактора Protйgй —WebProtege, предназначены прежде всего для поддержки совместной разработки онтологий и непосредственно не могут быть использованы в качестве инструмента в составе онтологоуправляемой информационной системы.
Наши исследования направлены на изучение особенностей построения корпоративных порталов на основе CMS Plone [2][3] с использованием онтологических моделей. Основной особенностью, отличающей эту систему разработки от других CMS, является использование в качестве хранилища контента объектной базы Zope Object Database (ZODB). Таким образом целью нашей разработки являлось создание редактора онтологии, хранимой в объектной базе ZODB. При разработке редактора ставилась задача создания web-приложения, позволяющего как создавать новые так и редактировать уже существующие онтологии. При этом предполагалось, что редактируемые онтологии могут находится в online или offline режимах доступа. Кроме этих основных требований к приложению был предъявлен еще ряд как функциональных, так и нефункциональных требований:
Редактор должен обладать возможностью загружать и визуализировать любую, представленную на языке OWL, онтологию. Редактор должен предоставлять пользователю дружественный интерфейс, позволяющий быстро создавать и редактировать концепты онтологии. Редактор должен предоставлять гибкий поисковый механизм, позволяющий легко искать и редактировать концепты онтологии.Для реализации предъявленных требований была выбрана технология AJAX, позволяющая создавать интерактивные web-приложения, реализующие асинхронное взаимодействие между клиентской и серверной частями приложения.
. Редактор реализован на языке Javascript с использованием библиотеки JQuery. Для эффективного управления онтологиями на стороне клиента реализована система классов, обеспечивающих хранение редактируемой части онтологии в оперативной памяти, а также построения запросов к серверу извлечения данных об элементах различных элементах онтологии.
Редактор состоит из клиентской и серверной части. Для эффективного клиент-серверного взаимодействия серверная часть приложения организована в виде JSON-сервера запросов. Сервер реализует выполнение различного вида запросов к объектной базе и формирование результата в структуру данных, пересылаемую редактору в формате JSON. Он реализован компонентом Ontology Service, реализующим все алгоритмы, связанные с загрузкой и управлением онтологией и набором классов, обеспечивающих хранение и обработку концептов онтологии. Компонент предоставляет набор взаимосвязанных сервисов, каждый из которых обеспечивает обработку специфических концептов онтологии и коммуникацию с клиентской частью редактора. Серверная часть приложения предоставляет следующие сервисы:
Загрузку OWL онтологии из удаленного источника. Выполнение запроса на получение всей онтологии или ее отдельной части, определяемой указанным частичным классом онтологии и формирование соответствующего JSON-пакета. Поиск всех онтологических классов, являющихся дочерними классами указанного концепта онтологии. Поиск всех объектов указанного класса. Предоставление информации о структуре указанного класса, объекта или свойства. Отображение всех метаданных загруженной онтологии.Для хранения онтологии в объектной базе данных разработан набор компонент [4], обеспечивающих представление концептов языка OWL, таких как Class, Data Property, Object Property и их атрибутов. Для хранения индивидуальных объектов онтологии предназначен компонентом Individual. Использование таких компонент позволило эффективно хранить онтологию и реализовать выполнение запросов к онтологии. При создании и модификации элементов онтологии сервер запросов манипулирует объектами указанных классов используя средства управления объектной базой данных. Объектная модель компонентов представлена на рис.1.

Рис.1
Клиентская часть редактора выполнена с использованием AJAX-технологий и функционирует в соответствии с клиентской моделью онтологии. Модель содержит классы, обеспечивающие выполнение запросов к сервисной части редактора, хранение онтологии на стороне клиента, а также построения графического пользовательского интерфейса (Рис.2).

Рис. 2
Класс Ontology обеспечивает хранения онтологии в виде многоуровневых массивов и предоставлет методы доступ к элементам онтологии;
Класс OntoEditorUI предназначен для генерацию автоматической генерации форм, шаблонов на основе структуры даннных, полученных из онтологии;
Класс OntoEditor является связующим звеном между уровнем хранения данных (класс Ontology) и уровнем представления данных (класс OntoEditorUI) и содержит в себе всю бизнес-логику редактора.
Пользовательский интерфейс редактора построен с использованием паттерна «portlet». Этот паттерн предлагает декомпозировать страницу веб-приложения на ряд визуальных компонент—портлетов, каждый из которых обладает собственными моделями хранения, обработки и отображения данных определенного типа. Использование этого паттерна соответствует принятой в CMS Plone концепции пользовательского интерфейса, хотя и имеет некоторые отличия. Так портлет отображения дерева элементов онтологии в «стандартном» интерфейсе CMS Plone может быть размещен только в левой или правой колонке страницы при ее «трехколоночной» разметке. В представленном редакторе указанный портлет расположен в центральной части страницы. И хотя такое построение позволяет использовать редактор отдельно от CMS Plone, при наличии соответствующей реализации серверной части редактора, сейчас активно разрабатывается версия редактора, использующего специфические особенности указанной CMS. Интерфейс редактора включает в себя нескольких портлетов, отображающих иерархическую структуру классов онтологии, список свойств, список индивидулов классов и индивидуалов свойств. В каждом портлете имеется кнопка, позволяющая вызывать форму создания объекта, тип которого соответствует типу отображаемых портлетом элементов. В центральной части редактора отображаются свойства выбранного элемента онтологии. Реализация интерфейса редактора представлена на рисунке (Рис.3).

Рис.3
Разработанный редактор используется в составе инструментальной среды семантического моделирования учебного процесса[5].
Литература
, Обзор инструментов инженерии онтологий. - http://www. elbib. ru/index. phtml? page=elbib/rus/journal/2004/part4/op Сервер приложений «Zope». Учебное пособие для вузовМ.:Горячая линия - Телеком, 2009.-256 с.:ил. Администрирование и интерфейс пользователя CMS Plone (монография).
Федер. Агентство по образованию, ГОУ ВПО "УГТУ-УПИ им. первого Президента Ельцина". Нижнетагил. технол. ин-т (фил.). - Нижний Тагил: НТИ(ф) УГТУ-УПИ, 2009. - 140с. , Построение онтологического портала с использованием объектной базы // Объектные системы - 2010: Материалы I Международной научно-практической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. . - Ростов-на-Дону, 2010. С. 74-78. Реализация инструментальной среды семантического моделирования учебного процесса. Объектные системы – 2011: материалы III Международной научно-практической конференции, (Ростов-на-Дону, 10-12 мая 2011 г.) / Под общ. ред. . – Ростов-на-Дону, 2011. – С.58-61.


