Научная статья на тему 'Редактор метамодели онтологической системы'

Редактор метамодели онтологической системы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
295
80
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Редактор метамодели онтологической системы»

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

Литература

1. Россеева О. И., Загорулько Ю.А. Организация эффективного поиска на основе онтологий //

Труды Международного семинара Диалог'2001 по компьютерной лингвистике и ее приложениям, т.2, 2001. - [Электронный ресурс]: [Статья]. - Режим доступа:

http://www.dialog-21.ru/materials/archive.asp?id=7029&v=2001&vol=6078

2. Krylov A.Yu., Galiaskarov E.G. The basic organization of an ontology driven retrieval system.

Object Systems - 2011 (English session): Proceedings of the Fourth International Theoretical and Practical Conference. Rostov-on-Don, Russia, 10-12 November, 2011. Edited by Pavel P. Oleynik. -p. 11-16. Также: [Электронный ресурс]: [Статья] - Режим доступа:

http://obiectsystems.ru/files/2011ES/Qbiect Systems 2011 English session Proceedings.pdf

3. Редактор онтологии и шаблон построения базы знаний “Protege”. - [Электронный ресурс]: [Сайт продукта] - Режим доступа: http://protege.stanford.edu/

4. Спецификация языка веб-онтологий OWL. - [Электронный ресурс]: [Страница

спецификации] - http://www.w3.org/TR/owl-features/

5. Технологический комплекс АЛОТ - Автоматизированная Лингвистическая Обработка

Текстов. - [Электронный ресурс]: [Сайт комплекса] -

http://www.cir.ru/docs/ips/techno/index.htm

6. Полнотекстовый поисковый сервер Sphinx. - [Электронный ресурс]:[Сайт продукта] -http://sphinxsearch.com/

УДК 681.3

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

Грегер Сергей Эдуардович, доцент, Уральский федеральный университет имени первого Президента России Б.Н.Ельцина, Нижнетагильский технологический институт (филиал), Россия,

Нижний Тагил, segreger@gmail.com

Рост объема информационных потоков породил тенденцию смещения разработок в направлении крупных информационных систем - корпоративных порталов. В решении проблем, связанных с эффективностью проектировании, реализации и сопровождении порталов, все шире используются возможности, предоставляемые семантическими моделями на базе онтологии (онтологические модели). Для создания и поддержки онтологий существует целый ряд инструментов, которые помимо общих функций редактирования и просмотра выполняют поддержку документирования онтологий, импорт и экспорт онтологий разных форматов и языков, поддержку графического редактирования, управление библиотеками онтологий и т.д. В то же время появилась тенденция к поддержке онтологических моделей в системах управления контентом (CMS), являющихся основой для построения современных веб-приложений. Такая поддержка в настоящее время в определенной степени реализована в CMS Drupal, Django и некоторых других. Использование таких моделей переводит веб-приложения в категорию онтологоуправляемых информационных систем, что требует разработки соответствующих инструментов управления.

88

Редактор онтологий - это приложение, поддерживающее создание онтологий или манипулирование ими [1]. Онтологический редактор может обеспечивать различные возможности работы с одним или несколькими языками представления онтологий, импорт/экспорт, средства библиотек онтологий, визуализацию, машины вывода, языки запросов, поддержу онтологий верхнего уровня и многое другое. Основная функция любого редактора онтологий состоит в поддержке процесса формализации знаний и представлении онтологии как спецификации (точного и полного описания). Существующие веб-редакторы онтологий, в частности, веб-версия хорошо известного редактора Protege — WebProtege, — предназначены прежде всего для поддержки совместной разработки онтологий и непосредственно не могут быть использованы в качестве инструмента в составе онтологоуправляемой информационной системы.

Наши исследования направлены на изучение особенностей построения корпоративных порталов на основе CMS Plone [2,3] с использованием онтологических моделей. Основной особенностью, отличающей эту систему разработки от других CMS, является использование в качестве хранилища контента объектной базы Zope Object Database (ZODB). Таким образом, целью нашей разработки являлось создание редактора онтологии, хранимой в объектной базе ZODB. При разработке редактора ставилась задача создания web-приложения, позволяющего как создавать новые, так и редактировать уже существующие онтологии. При этом предполагалось, что режим доступа к редактируемой онтологии может быть как online, так и offline. Кроме этих основных требований к приложению был предъявлен еще ряд как функциональных, так и нефункциональных требований:

1. Редактор должен обладать возможностью загружать и визуализировать любую представленную на языке OWL онтологию.

2. Редактор должен предоставлять пользователю дружественный интерфейс, позволяющий быстро создавать и редактировать концепты онтологии.

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

Для реализации предъявленных требований была выбрана технология AJAX, позволяющая создавать интерактивные web-приложения, реализующие асинхронное взаимодействие между клиентской и серверной частями приложения.

Редактор реализован на языке Javascript с использованием библиотеки JQuery. Для эффективного управления онтологиями на стороне клиента реализована система классов, обеспечивающих хранение редактируемой части онтологии в оперативной памяти, а также построения запросов к серверу извлечения данных об элементах различных элементах онтологии.

Редактор состоит из клиентской и серверной части. Для эффективного клиентсерверного взаимодействия серверная часть приложения организована в виде JSON-сервера запросов. Сервер реализует выполнение различного вида запросов к объектной базе и формирование результата в структуру данных, пересылаемую редактору в формате JSON. Он реализован компонентом Ontology Service, реализующим все алгоритмы, связанные с загрузкой и управлением онтологией и набором классов, обеспечивающих хранение и обработку концептов онтологии. Компонент предоставляет набор взаимосвязанных сервисов, каждый из которых обеспечивает обработку специфических концептов онтологии и коммуникацию с клиентской частью редактора. Серверная часть приложения предоставляет следующие сервисы:

1. Загрузку OWL-онтологии из удаленного источника.

2. Выполнение запроса на получение всей онтологии или ее отдельной части, определяемой указанным частичным классом онтологии и формирование соответствующего JSON-пакета.

3. Поиск всех онтологических классов, являющихся дочерними классами указанного концепта онтологии.

4. Поиск всех объектов указанного класса.

89

5. Предоставление информации о структуре указанного класса, объекта или свойства.

6. Отображение всех метаданных загруженной онтологии.

Объектная модель компонентов представлена на рисунке 1.

Рис. 1 - Объектная модель компонентов

Для хранения онтологии в объектной базе данных разработан набор компонент [4], обеспечивающих представление концептов языка OWL, таких как Class, Data Property, Object Property и их атрибутов. Для хранения индивидуальных объектов онтологии предназначен компонент Individual. Использование таких компонент позволило эффективно хранить онтологию и реализовать выполнение запросов к онтологии. При создании и модификации элементов онтологии сервер запросов манипулирует объектами указанных классов, используя средства управления объектной базой данных.

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

Рис. 2 - Клиентская модель онтологии

Класс Ontology обеспечивает хранения онтологии в виде многоуровневых массивов и предоставлет методы доступ к элементам онтологии;

Класс OntoEditorUI предназначен автоматической генерации форм, шаблонов на основе структуры данных, полученных из онтологии;

Класс OntoEditor является связующим звеном между уровнем хранения данных (класс Ontology) и уровнем представления данных (класс OntoEditorUI) и содержит в себе всю бизнес-логику редактора.

90

Пользовательский интерфейс редактора построен с использованием паттерна «portlet». Этот паттерн предлагает декомпозировать страницу веб-приложения на ряд визуальных компонент — портлетов, каждый из которых обладает собственными моделями хранения, обработки и отображения данных определенного типа. Использование этого паттерна соответствует принятой в CMS Plone концепции пользовательского интерфейса, хотя и имеет некоторые отличия. Так портлет отображения дерева элементов онтологии в «стандартном» интерфейсе CMS Plone может быть размещен только в левой или правой колонке страницы при ее «трехколоночной» разметке. В представленном редакторе указанный портлет расположен в центральной части страницы. И хотя такое построение позволяет использовать редактор отдельно от CMS Plone, при наличии соответствующей реализации серверной части редактора, в настоящее время активно разрабатывается версия редактора, использующего специфические особенности указанной CMS.

Интерфейс редактора включает в себя нескольких портлетов, отображающих иерархическую структуру классов онтологии, список свойств, список индивидулов классов и индивидуалов свойств. В каждом портлете имеется кнопка, позволяющая вызывать форму создания объекта, тип которого соответствует типу отображаемых портлетом элементов. В центральной части редактора отображаются свойства выбранного элемента онтологии. Реализация интерфейса редактора представлена на рисунке (рис.3).

Рис. 3 - Интерфейс клиентской части редактора

Разработанный редактор используется в составе инструментальной среды семантического моделирования учебного процесса [5].

Литература

1. Овдий О.М., Проскудина Г.Ю. Обзор инструментов инженерии онтологий. -

http://www.elbib.ru/index.phtml?page=elbib/rus/joumal/2004/part4/op

2. Грегер С.Э. Сервер приложений «Zope». Учебное пособие для вузов. -

М.: Горячая линия - Телеком, 2009. - 256 с.:ил.

3. Грегер С.Э. Администрирование и интерфейс пользователя CMS Plone (монография). Федер. Агентство по образованию, ГОУ ВПО "УГТУ-УПИ им.первого Президента России Б.Н.Ельцина". Нижнетагил. технол. ин-т (фил.). - Нижний Тагил: НТИ(ф) УГТУ-УПИ, 2009. -140 с.

91

4. Грегер С.Э., Сковородин Е.Ю. Построение онтологического портала с использованием объектной базы // Объектные системы - 2010: Материалы I Международной научнопрактической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2010. - С. 74-78.

5. Грегер С.Э. Реализация инструментальной среды семантического моделирования учебного процесса. Объектные системы - 2011: материалы III Международной научно-практической конференции, (Ростов-на-Дону, 10-12 мая 2011 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2011. - С.58-61.

УДК 004.4’23 +004.43

РАЗРАБОТКА УЧЕБНОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ И ИНТЕРПРЕТАТОРА1

Лаптев Валерий Викторович, к.т.н., доцент, Астраханский государственный технический университет, Россия, Астрахань, laptev@ilabsltd.com Грачев Дмитрий Александрович, магистрант, Астраханский государственный технический университет, Россия, Астрахань, grachev@ilabsltd.com

Введение

В работе [1] одним из авторов сформулированы требования к языку программирования и к интегрированной среде обучения программированию. В частности, обучающая среда должна включать исполняющую подсистему, в которой реализуются программы на учебном языке программирования. Основными компонентами исполняющей подсистемы являются редактор кода и интерпретатор программ на учебном языке.

В настоящей работе описывается разработанный авторами учебный язык, названный Semantic Language (SL), и интерпретатор, позволяющий выполнять программы на этом языке. При разработке учебного языка нужно следовать некоторым основополагающим принципам (концепциям). Концепции разработки языка программирования делятся на три группы: семантические, синтаксические и прагматические (реализационные). Основные семантические концепции, принятые при разработке учебного языка, следующие:

• понятия языка для обучения должны соответствовать понятиям промышленных императивных языков программирования;

• множество понятий языка для обучения должно быть минимально;

• конструкции языка не должны зависеть ни от аппаратной платформы, ни от операционной системы;

• язык должен поддерживать модульность, процедурное программирование и объектно-ориентированное программирование;

• язык должен поддерживать структурное программирование;

• намерения программиста должны указываться явным образом (запрет умолчаний).

В качестве примеров запрета умолчаний можно привести следующие:

• отсутствие неявных преобразований типа (кроме преобразования в арифметических выражениях целый -> вещественный);

• явный параметр this, задаваемый при определении метода класса;

• явное определение записи как базовой для наследования;

• явное указание типа константы при определении.

При разработке учебного языка были приняты следующие основные синтаксические концепции:

• базовая лексика языка должна быть русскоязычной;

• ключевые слова должны иметь английский эквивалент;

1 Лауреат номинации "Лучший доклад о методах преподавания объектных технологий в ВУЗе". Автор доклада награждается правом бесплатной публикации одного доклада по данной тематике на следующей конференции

92

i Надоели баннеры? Вы всегда можете отключить рекламу.