РЕДАКТОР МЕТАМОДЕЛИ ОНТОЛОГИЧЕСКОЙ СИСТЕМЫ

УДК 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.