Искусство в IT-технологиях...

Васильев Иван Анатольевич. Методы и инструментальные средства построения семантических WEB-порталов, 2006

4.1.1. Проектирование и программная реализация сервера онтологий



Сервер онтологий реализует объектную модель онтологии, описанной на языке OWL DL, и позволяет (рис. 4.2):
получать доступ к функциям сервера онтологий с использованием технологии .NET Remoting [113];
хранить файлы с описаниями онтологий в файловой системе;
выполнять запросы к онтологии, использующие логический вывод.
Указанная структура СО реализована в виде набора классов, перечисленных на следующей UML-диаграмме (рис.
4.3).
Объектная модель онтологии содержит классы-сущности, представляющие элементы онтологии, класс для трансляции OWL-данных во внутреннее представление сервера и управляющий класс, реализующий программный интерфейс доступа к функциям сервера онтологий.
В качестве классов-сугцностей были выделены: атомарное понятие, экземпляр, отношение, атрибут, целочисленное значение и строковое значение. Для первых четырех типов сущностей в онтологии заданы лексические метки, а для двух оставшихся типов лексическими метками являются их значения,
представленные в текстовом виде (приложение 4, рис. 3). Лексические метки составляют словарь онтологии.

Модули, составляющие программную реализацию СО


Рис. 4.2. Модули, составляющие программную реализацию СО
Класс «Транслятор OWL-данных» предназначен для трансляции описания онтологии на языке OWL DL в систему взаимосвязанных объектов соответствующих классов-сущностей. Результатом трансляции является наборы выявленных понятий, экземпляров, атрибутов, отношений, строковых и целочисленных значений. Сгенерированное внутреннее объектное представление онтологии используется для ускорения доступа к элементам онтологии и выполнения запросов.

UML-диаграмма классов, реализуемых СО


Рис. 4.3. UML-диаграмма классов, реализуемых СО
Управляющий класс «Менеджер онтологии» реализует программный интерфейс IOntologyAPI, определяющий методы и свойства сервера онтологий, которые представлены в следующей таблице.
Таблица 4.1. Методы и свойства интерфейса IOntologyAPI

Методы и свойства интерфейса IOntologyAPI


№ Тип Название Комментарий Настройки сервера онтологий 1 свойство Журнал обращений к серверу Свойство определяет, ведется ли журнал обращений 2 свойство Адрес системы логического вывода Адрес доступа к СЛВ 3 свойство Атрибут идентификации объектов Применяется к экземплярам, ссылающимся на объекты семантиче- ского портала 4 свойство Отношение для семантических метаданных Используется при представлении семантических метаданных в онтологии Работа с хранилищем ОНТОЛОГИИ 5 свойство Идентификатор активной онтологии 6 свойство Идентификатор хранилища онтологий 7 метод Список онтологий в хранилище 8 метод Активизировать онтологию Онтология загружается из хранилища в оперативную память для использования. Сервер может одновременно работать только с одной онтологией. 9 свойство Онтология активизирована Свойство позволяет проверить активизирована ли необходимая онтология 10 метод Сохранить онтологию Сохраняет активную онтологию в хранилище 11 свойство Автосохранение Свойство определяет, сохранять ли онтологии при ее изменении Работа с содержанием активной онтологии 12 метод Добавить временное значение атрибута Временные значения не хранятся в онтологии, а добавляются только в СЛВ для целей представления семантических метаданных 13 метод Добавить временное значение отношения 14 метод Добавить экземпляр 15 метод Добавить постоянное значение атрибута Постоянные значения хранятся в онтологии 16 метод Добавить постоянное значение отношения 17 свойство Список атомарных понятий 18 метод Получить атомарное понятие 19 свойство Список экземпляров 20 метод Получить экземпляр 21 свойство Список атрибутов 22 метод Получить атрибут 23 свойство Список отношений 24 метод Получить отношение 25 метод Получить фиктивный экземпляр понятия Для целей представления семантических метаданных в онтологии вводятся фиктивные экземпляры понятий 26 метод Получить атрибуты для атомарного понятия 27 метод Получить отношения для атомарного понятия 28 метод Получить область значений атри- бута 29 метод Получить область значений отношения Запросы к онтологии 30 метод Понятия пересекаются Использует СЛВ 31 метод Родители понятия Использует СЛВ 32 метод Дети понятия Использует СЛВ 33 метод Предки понятия Использует СЛВ 34 метод Потомки понятия Использует СЛВ 35 метод Предки отношения Не использует СЛВ 36 метод Потомки отношения Не использует СЛВ 37 метод Экземпляры понятия Использует CJIB 38 метод Понятия экземпляра Использует СЛВ 39 метод Понятие содержит экземпляр Использует СЛВ 40 метод Значения атрибута Не использует СЛВ 41 метод Значения отношения Не использует СЛВ Для организации доступа к функциям сервера онтологий была выбрана технология .NET Remoting. Эта технология позволяет обращаться к методам и свойствам уделенных объектов. Технология может использовать для передачи данных протоколы HTTP или TCP. Использование протокола TCP обеспечивает высокую скорость взаимодействия с объектом, но не гарантирует работоспособность при прохождении сетевого трафика через брандмауэры. Использование протокола HTTP обеспечивает меньшее быстродействие, но позволяет работать через брандмауэры. Для реализации сервера онтологий был выбран протокол TCP, так как предполагается использование сервера онтологий в одном сетевом сегменте с клиентскими приложениями.
Для использования технологии .NET Remoting управляющий класс «Менеджер онтологии» помимо реализации интерфейса IOntologyAPI наследует функциональность класса System.MarshalByRefObject, входящего в состав инфраструктуры .NET (приложение 4, рис. 4). Принцип доступа клиентских приложений к объекту управляющего класса «Менеджер онтологии» представлен на рисунке 4.4.
Клиентские приложения для доступа к серверу онтологий должны использовать «клиентский модуль доступа», который реализует интерфейс IOntologyAPI и отвечает за передачу вызовов по сети с использованием технологии .NET Remoting. Управляемое (managed) клиентское приложение

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

Организация доступа клиентских приложений к СО


Рис. 4.4. Организация доступа клиентских приложений к СО
Например, сервер семантических метаданных, использующий сервер онтологий, является управляемым приложением.
В качестве управляемого клиентского приложения реализовано и приложение для настройки и запуска СО (рис. 4.5).
Для неуправляемых (unmanaged) приложений разработан СОМ- интерфейс (рис. 4.4), позволяющий воспользоваться функциональностью клиентского модуля. Этот интерфейс может использоваться, например, при разработке семантического портала на базе ASP- или PHP-технологий, так как они поддерживают СОМ-технологию.

Главная форма приложения для запуска и настройки СО


Рис. 4.5. Главная форма приложения для запуска и настройки СО
В качестве подсистемы хранения онтологий, описанных на языке OWL DL, была выбрана файловая система. Такой подход достаточно прост для реализации и одновременно остается возможность использования существующих редакторов онтологий. Все редакторы онтологий поддерживают работу с файловой системой. Для работы с файловой системой менеджер онтологии использует класс «Хранилище онтологий» (рис. 4.6).

UML-диаграмма класса для управления хранением онтологий в файловой системе


Рис. 4.6. UML-диаграмма класса для управления хранением онтологий в файловой системе
В качестве системы логического вывода (СЛВ) для дескриптивной логики была выбрана свободно распространяемая система RACER версии
120

1.7.24 [114]. RACER реализует логический вывод для дескриптивной логики класса /

логический вывод для дескриптивной логики класса

, которая расширяет атрибутивный язык (/17,) такими
возможностями как произвольное отрицание (С), транзитивные отношения (д+), инверсные отношения (/), иерархия отношений (Н), количественные ограничения на отношения (О) и некоторые конкретные домены (D~). В качестве конкретных доменов поддерживаются строки и числа. Дескриптивная логика класса

Дескриптивная логика класса

по выразительности является подклассом SHIQ, не поддерживая лишь перечисляемые типы (nominals). На сегодняшний день система RACER реализует наиболее выразительную дескриптивную логику с использованием высокопроизводительного алгоритма (tableau-based algorithm) логического вывода, который используется для обработки онтологий, описанных на языке OWL DL.
Если при описании онтологий на языке OWL DL учитывать ограничения дескриптивной логики ,

Дескриптивная логика класса

(не использовать перечисляемые типы), то созданные описания онтологий на языке OWL DL могут быть автоматически транслированы в формулы дескриптивной логики класса

Дескриптивная логика класса

и переданы системе логического вывода RACER.
Система RACER поддерживает два протокола взаимодействия: JRacer, основанный на протоколе TCP, и DIG, основанный на протоколе HTTP.
Для взаимодействия с CJIB RACER был выбран протокол DIG, так как он был специально разработан для взаимодействия с различными CJIB, основанными на ДЛ. Использование этого протокола устраняет зависимость от RACER и при появлении новых СЛВ позволяет использовать их.
В соответствии со спецификацией протокола DIG версии 1.1 [115] была спроектирована и разработана библиотека классов протокола DIG. Протокол предусматривает три типа операций:
управление базой знаний (создание и очищение);
наполнение базы знаний логическими утверждениями;
запросы к базе знаний.

В приложении 4 приведены диаграммы классов, используемых при наполнении базы знаний (рис. 5, 6) и при выполнении запросов (рис. 7). В логических утверждениях используются базовые понятия протокола DIG (приложение 4, рис, 5).
Созданная библиотека классов используется сервером онтологий для взаимодействия с CJIB RACER.
Ниже приводится пояснение функционирования сервера онтологий на примере вызова у класса «Менеджер онтологий» метода «Активизировать онтологию» (рис. 4.7).

Процесс активизации онтологии сервером


Рис. 4.7. Процесс активизации онтологии сервером
Клиентское приложение с помощью клиентского модуля доступа, использующего технологию .NET Remoting, вызывает метод сервера онтологий «Активизировать онтологию». При вызове этого метода серверу онтологий передается идентификатор требуемой онтологии. Вызов метода обрабатывает объект класса «Менеджер онтологии».
Для менеджера онтологии уже задан идентификатор хранилища онтологий. Менеджер онтологий через объект класса «Хранилище онтологий» обращается к этому хранилищу и получает по

идентификатору онтологии OWL-поток, содержащий описание требуемой онтологии.
Полученный OWL-поток менеджер онтологии транслирует во внутреннюю объектную модель с помощью объекта класса «Транслятор OWL-даниых». Полученная объектная модель состоит из объектов соответствующих классов-сущностей.
Для выполнения логического вывода онтология должна быть передана в CJ1B. С этой целью менеджер онтологии транслирует внутреннюю объектную модель онтологии в логические высказывания протокола DIG и передает их системе RACER.
Дополнительно менеджер онтологии для каждого понятия, присутствующего в онтологии, передает системе RACER фиктивный экземпляр. При передаче также используется протокол DIG.
На этом активизация требуемой онтологии завершается. Требуемая онтология представлена в сервере онтологий двумя моделями - внутренней объектной моделью и набором логических высказываний в С JIB. Если клиентское приложение обращается к элементам онтологии, то логический вывод не требуется и менеджер онтологии использует только объектную модель. Если же необходимо выполнить запросы к онтологии, то менеджер онтологии задействует СЛВ.
предыдущий следующий
= К содержанию =


4.1.1. Проектирование и программная реализация сервера онтологий - релевантная информация:

  1. 3.2.2. Виртуальная реальность компьютерных сетей
    проектирования, предназначенные для автоматизации проектно-конструкторских работ и т.п. Как правило, эти многопользовательские программы работают в локальных компьютерных сетях, т.е. в пределах организации, предприятия и предусматривают общение в основном «по делу», хотя средствами самой локальной сети допустим и обмен «неделовыми сообщениями». Во-вторых виртуальные реальности, основанные на
  2. ВВЕДЕНИЕ
    проектирования и программирования. Научная новизна результатов исследования заключается в следующем: разработан метод семантического описания объектов Web-портала с точки зрения контента, использующий предложенную автором структуру семантических метаданных; разработан метод вычисления семантической близости метаданных, основанный на известном методе определения сотипности; разработаны методы
  3. 4.1. Проектирование и программная реализация семантического ядра портала
    проектированы как две отдельно функционирующие программные системы, между ними существует логическая связь. Во-первых, семантические метаданные, описанные на языке RDF, содержат элементы онтологии, описанной на языке OWL DL. Эта зависимость семантических метаданных от онтологии выражается в использовании URI-имен 113 из онтологии. Для реализации этой логической связи был разработаны интерфейсы
  4. 4.1.2. Проектирование и программная реализация сервера семантических метаданных
    программную реализацию ССМ Указанная структура ССМ реализована в виде набора классов, перечисленных на следующей UML-диаграмме (рис. 4.9). Объектная модель семантических метаданных включает классы- сущности для элементов языка RDF, сам класс семантических метаданных, классы семантических выражений, входящих в состав семантических метаданных, и управляющий класс. {foto182} Рис. 4.9. UML-диаграмма
  5. 4.1.4. Степень программной реализации семантического ядра портала
    проектированное семантическое ядро портала полностью реализовано программно на платформе Microsoft .NET с использованием языка программирования С#. В общей сложности для программной реализации было разработано с использованием языка моделирования UML [116] 177 классов и интерфейсов, а объем кода составил более 16 тысяч строк (таблица 4.3). Вклад автора диссертационного исследования в разработку и
  6. Оглавление
    программных комплексов 78 Программный модуль «Поисковик» 79 Программный модуль «Анализатор» 80 3.7- Надежность функционирования 82 3.8. Технологический раздел 83 Отладка и тестирование 83 Требования к объекту тестироваиия 83 Средства отладки программы 83 Тестирование программы 84 Порядок отладки и тестирования 84 3.9. Выводы по главе 3 86 Глава 4. Экспериментально-расчетная часть 87 Введение 87
  7. 1.3. Анализ существующих применений семантических технологий в порталах
    проектирования порта- ла поддерживается разработанным в рамках проекта программным комплексом. Онтологии (метамодели) описывают понятия и отношения, которые используются при спецификации аспектов портала (модели). Разделение процесса моделирования на ряд независимых процессов - моделирование структуры данных, моделирование структуры портала, моделирование представления портала, моделирование
  8. 2.1. Анализ вариантов использования онтологии
    проектировании компонентов ИС. Необходимые части онтологий извлекаются из библиотеки и преобразуются в описание компонента. При таком подходе снижаются затраты на концептуальный анализ, всегда имеющий место при проектировании ИС. Результаты концептуального анализа фиксируются в онтологии, которая затем повторно используется. Таким образом, анализ проводится один раз, а его результаты используются
  9. 2.2. Место и функции семантического ядра портала
    программными системами, использующими семантические технологии. Инфраструктура семантического портала расширена по сравнению с инфраструктурой традиционного портала (рис. 1.2) за счет использования следующих элементов: протоколов, языков и инструментальных средства, выбранных из множества доступных семантических технологий, и необходимых для решения поставленных задач; программных средств
  10. Сервер онтологий (СО) - это отдельно функционирующая программная система, хранящая множество онтологий и предоставляющая к ним доступ. Сервер онтологий используется другими программными системами, которым нужны его функции в процессе реализации жизненного цикла онтологии: создания, оценки, использования и последующей актуализации.
    программная система, хранящая множество онтологий и предоставляющая к ним доступ. Сервер онтологий используется другими программными системами, которым нужны его функции в процессе реализации жизненного цикла онтологии: создания, оценки, использования и последующей