logo
Разработка Web-сервиса "Выбор музыкального инструмента"

3. РЕАЛИЗАЦИЯ ОНТОЛОГИИ

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

Класс "Гитара" имеет следующие атрибуты:

- цвет (строка);

- материал (строка);

- название (строка);

- количество струн (строка);

- цена (строка);

- производитель гитары (значение является пример другого класса);

- тип корпуса (значением является другой класс);

- тип струн (значением является другой класс);

- звукосниматели (логический, булевский тип).

Класс "Конструкция гитары" имеет следующие два подкласса, кот в свою очередь имеет следующие атрибуты:

- Корпус:

- Цвет корпуса (строка);

- Материал корпуса (строка);

- Название корпуса (строка).

- Струны:

- Название струн (строка).

Класс "Фирма-производитель" имеет следующие атрибуты:

- Адрес фирмы (строка).;

- Название фирмы (строка).;

- Контактный телефон (строка).

Класс "Мастеровые гитары" имеет следующие атрибуты:

- Гитара (товар) (строка);

- Инициалы мастера (строка);

- Телефон мастера (строка);

- Заказ (логический, булевский тип).

Рисунок 3.1 - Иерархия классов

На Рисунке 3.1 представлена иерархия онтологии для предметной области "Гитара".

В данной онтологии имеются классы: Гитара, конструкция гитары и производства гитары и их подклассы. Класс гитара делится на классы: электро, акустические и полуакустические гитары, которые в свою очередь делятся на классы электро-басс гитара, классическая гитара, акустический басс, классическая гитара и полуакустика. Данное распределение классов было сделано для лучшего понимания предметной области пользователем. Класс конструкция гитары содержит в себе классы: тип деки (то есть корпуса гитары), тип и количество струн, фирма производитель фирма. Класс производство гитар делится на классы: создание гитары мастером и фирменное производство.

Классы в данной онтологии (как и во всех других) имеют свои свойства (показаны на рис. 3.2)

Рисунок 3.2 - Свойства класса "Гитара"

Класс "Гитара" (а также все подклассы этого класса) имеют такие свойства, как: цвет, материал, название, количество струн, тип струн, цена, создатель гитары, тип корпуса, наличие звукоснинаметелей. Также каждое свойство (слот) имеет свой тип и/или ограничение на значение, это мы видим на Рисунке 3.3

Рисунок 3.3 - Свойство "Цена"

Свойство "Цена" имеет тип "float" (значение с плавающей запятой) и также ограничение на значение от 100 до 3000.

Также мы можем задать как тип свойства другой класс (рис. 3.4) или экземпляр другого класса (рис. 3.5)

Рисунок 3.4 - Свойство "Тип корпуса"

Рисунок 3.5 - Свойство "Производитель гитар"

Также, кроме свойств, классы имеют экземпляры (примеры), как показано на Рисунке 3.6.

Рисунок 3.6 - Экземпляры класса электро-басс и свойства этих экземпляров

Также, мы можем редактировать расположение и многое другое с помощью закладки Form в Protege (рис. 3.7)

Рисунок 3.7 - Form Editor

Выделенный объект мы можем двигать как угодно по форме, к тому же мы можем выставить тот слот, который будет показан на дисплее.

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

Рисунок 3.8 - Запрос к онтологии

На Рисунке 3.8 показан запрос сделанный к онтологии: вывести акустические гитары жёлтого света. К тому же выбранный запрос мы можем добавить в библиотеку запросов и по необходимости вызывать их оттуда.

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

Рисунок 3.9 - Запрос к онтологии с несколькими ограничениями на слоты