Загрузил Ейегер Арен

prakt2

реклама
Лабораторная работа
№2
Тема: Создание онтологии в OWL
Цель работы: создание онтологии пиццы.
Задачи:
− Создать новую онтологию OWL.
− Научиться создавать классы и подклассы в системе Protege 4.
− Изучить свойства в OWL.
Ход работы
Создание новой онтологии OWL
1. Запустили Protege 4.
2.
При появлении диалогового окна «Добро пожаловать в Protege» нажали «Создать
новые OWL онтологии» (рисунок 1).
Рисунок 1
3.
Появилось мастер «Создание URI онтологии». Каждая онтология создается с
использованием уникального имени - идентификатора ресурса (URI). Заменили значение по
умолчанию на http://www.pizza.com/ontologies/pizza.owl и нажали «Далее».
Добавление комментариев к онтологии
1. Выбрали закладку «Активные онтологии».
2.
В представлении «Онтология аннотации» щелкнули значок (+) рядом с
аннотациями. В таблице появилось окно редактирования. Выбрали из списка встроенных
аннотации идентификаторы URI «comment-комментарии» и ввели комментарий в текстовое
поле
3.
Ввели комментарий (rdfs:comment), и нажали кнопку OK, чтобы сохранить
комментарий.
Вид аннотации на закладке «Активной онтологии» выглядит, как показано на рисунке 2.
Рисунок 2
Именованные классы
Основными строительными блоками онтологии OWL являются классы. В Protege 4
создание классов осуществляется в закладке «Classes», показанной на рисунке 5. Пустая
онтология содержит один класс с именем THING. В OWL классы интерпретируются как
множества индивидов (или объектов). Класс THING - это класс, представляющий набор,
содержащий все объекты предметной области. По этой причине все классы являются
подклассами THING.
Создание классов Pizza, PizzaTopping и PizzaBase
1. Выбрали закладку «Classes».
2.
Нажали кнопку «Добавить подкласс». Эта кнопка создает новый класс как
подкласс выбранного класса (в данном случае мы хотим создать подкласс класса THING)
3.
Отобразилось диалоговое окно для ввода названия класса, ввели Pizza.
4.
Повторили предыдущие шаги для добавления классов PizzaTopping и PizzaBase,
обеспечивая, что флажок установлен на THING до нажатия кнопки «Добавить подкласс»
таким образом, чтобы классы, создавались как подклассы THING. Иерархия классов теперь
должна напоминать иерархии, показанные на рисунке 3.
Рисунок 3
Установка Pizza, PizzaTopping и PizzaBase непересекающимися
1. В иерархии классов выбрали класс Pizza
2. Нажали на кнопку «Disjoint With» в режиме «описание класса», появилось
диалоговое окно, где вы можете выбрать несколько классов (через кнопку Ctrl), которые
должны быть несвязанными. Это позволит сделать PizzaBase и PizzaTopping (родственные
классы Pizza) непересекающимися с классом Pizza.
Список непересекающихся классов отображает PizzaTopping и PizzaBase. Выбрли класс
PizzaBase. В непересекающихся классах отображаются классы, которые в настоящее время не
пересекаются c PizzaBase, а именно: Pizza и PizzaTopping (рис. 4)
Рисунок 4
Использование иерархии классов при создании классов
Использование инструмента «Создать иерархию классов» для создания ThinAndCrispy и
DeepPan как подклассы PizzaBase
1. В иерархии классов выбрали класс PizzaBase.
2. В главном меню из инструметов «Tools –Сервис» Protege выбрали «Create Class
hierarchy - Создать иерархию классов».
3. Появилась панель инструментов. Поскольку мы выбрали класс PizzaBase, первый
переключатель в верхней части инструмента установлен на выбранный нами PizzaBase.
4. Нажали кнопку «Далее» (Continue) на панели инструмента. Указали в окне подклассы
PizzaBase, которые мы хотим создать. В большой текстовой области ввели в поле имя класса
ThinAndCrispyBase (для тонкой и хрустящей пиццы) и нажали Enter.
5. На новой строке ввели имя класса DeepPanBase.
6. Нажали кнопку «Далее» на панели инструмента. После инструмент создает классы,
делает их несвязанными.
7. Нажали «Готово» (Finish) для закрытия инструмента. Онтология теперь имеет
ThinAndCrispyBase и DeepPanBase, как подклассы PizzaBase (рисунок 5). Эти новые классы
несвязанны между собой. Таким образом PizzaBase не может быть тонкой и хрустящий и
одновременно пышной.
Рисунок 5
Создание подклассов начинок пиццы PizzaTopping
Имея базовые классы, создали подклассы начинок пиццы
PizzaTopping. Начинки объединяются в различные категории мясные начинки, растительные начинки, сырные начинки и
начинки из морепродуктов.
Создание подклассов класса PizzaTopping
1. В иерархии классов выбрали класс PizzaTopping.
2. Вызвали инструмент «Создать иерархию классов...».
3. Выбрали параметр PizzaTopping и нажали кнопку «Далее».
4. Мы хотим, чтобы все из PizzaTopping класса
заканчивались одинаково, для чего в поле «Суффикс», ввели
«Topping». Инструмент будет помогать нам при вводе,
автоматически добавляя суффикс «Topping» для всех наших имен
классов.
5. Инструмент позволяет ввести иерархию классов с
отступом дерева. С помощью клавиш Enter и Tab в области текста
ввели имена классов.
6. После задания структурированного списка классов,
нажали кнопку «Далее» и убедились, что новые родственные
классы являются несвязанными друг с другом.
7. Нажали кнопку «Готово». Иерархия классов представлена
на рисунке 6.
Рисунок 6
Свойства объекта и свойства аннотации
Создание свойства объекта под названием hasIngredient
1. Перешли на вкладку «Свойства объекта». Использование «Добавить подсвойство
объекта» кнопку для создания нового свойства объекта, являющегося субсвойством
TopObjectProperty.
2. Ввели Имя свойства hasIngredient.
Создание hasTopping и hasBase подчиненными свойствами hasIngredient
1. Чтобы создать свойство hasTopping как подсвойство свойства hasIngredient, выбрали
свойство hasIngredient в иерархии свойств на вкладке «Свойства объекта».
2. Нажали на кнопку «Добавить подсвойство».
3. Задали имя нового свойства «hasTopping».
4. Повторив описанные выше шаги, создали свойство «hasBase».
Создание некоторых обратных свойств
1. Нажали кнопку «Добавить родственное свойство объекта» на вкладке «Свойства
объекта» для создания нового свойства объекта с именем isIngredientOf – «инградиент в
(начинке)» (это будет задано обратное свойство для свойства hasIngredient «имеет
инградиент»).
2. Нажали значок (+) рядом с кнопкой «inverse Of» на панели «Описание свойства», как
показано на рисунке 9. Выбрали свойство hasIngredient и нажали «OK». Свойства
hasIngredient теперь отображены в представлении «Inverse Of».
3. Выбрали свойство hasBase.
4. Нажали добавить значок (+) рядом с «Inverse Of» на представлении «Описание
свойства». Создали новое свойство в этом диалоговом окне, под названием isBaseOf. Выбрали
это свойство и нажали кнопку «OK».
5. Выбрали свойство hasTopping. 6. Нажали значок (+) рядом с «Inverse Of» на
представлении «Описание свойства». В диалоговом окне Свойства, которое всплывает для
создания свойства isToppingOf нажали «OK».
На рисунке 7 представлены созданные свойства.
Рисунок 7
Характеристики свойств объектов OWL
OWL позволяет значение свойства обогатить за счет использования множества
характеристик.
Функциональные свойства (functional)
Если свойство является функциональным, то для данного индивида может существовать
не более одного индивида, который имеет отношение к первому индивиду через это свойство.
Установка свойства hasIngredient транзитивным
1. Выбрали свойство hasIngredient в иерархии свойств на вкладке «Свойства объекта».
2. Отметили поле «Transitive» галочкой на представлении «характеристики свойства».
3. Выбрали свойство isIngredientOf, которое является обратной hasIngredient.
На рисунке 8 представлена установка перехода.
Рисунок 8
Установление транзитивной отметки
1. Выбрали свойство hasBase.
2. Отметили галочкой поле «Functional» на панели Характеристики свойства.
Рисунок 9
Домены и диапазоны свойств
Свойства могут иметь домен и указанный диапазон. Свойства связывают индивидов из
доменов с индивидами в диапазонах. К примеру, в нашей онтологии Pizza, свойства
hasTopping вероятно свяжет индивидов, принадлежащих к классу Pizza c индивидами,
принадлежащими к классу PizzaTopping. В этом случае Pizza является доменом свойства
hasTopping, а диапазоном - PizzaTopping.
Указание диапазона hasTopping
1. Выбрали свойство hasTopping в иерархии свойств на вкладке «Свойства объекта».
2. Нажали значок «Добавить» (+) рядом с «Ranges (Intersection)» на панели «Описание
свойства». Появилось диалоговое окно, которое позволяет выбирать классы из иерархии
классов онтологии.
3. Выбрали PizzaTopping и нажали кнопку «OK».Класс PizzaTopping теперь должен
быть отображены в списке диапазона.
Указание класса Pizza как домен свойства hasTopping
1. Выбрали свойство hasTopping в иерархии свойств на вкладке «Свойства объекта».
2. Нажали значок «Добавить» (+) рядом с «Domains(Intersections)» на панели «Описание
свойств». Появилось диалоговое окно, которое позволяет выбирать класс из иерархии классов
онтологии.
3. Выбрали Pizza и нажали на кнопку ОК. Класс Pizza теперь должен отобразился в
списке доменов.
Рисунок 10
Контрольные вопросы
1) Что такое OWL онтология?
OWL онтология: OWL (Web Ontology Language) – это язык для описания онтологий в
семантическом вебе, предназначенный для описания концепций и отношений в различных
областях знаний с использованием формализованных структур данных.
2) Как может еще называться иерархия классов?
Иерархия классов также может называться так: таксономия, классификация, дерево
классов.
3) Какие рекомендации существуют для названий классов?
Классы должны иметь понятные и информативные названия, отражающие их суть и
отношения с другими классами.
4) Пересекаются ли классы в OWL по умолчанию?
Нет, классы в OWL по умолчанию не пересекаются.
5) Что такое непересекающиеся классы?
Непересекающиеся классы - не имеют общих элементов.
6) Что представляют свойства в OWL?
Свойства в OWL представляют отношения между классами и индивидами. Они
используются для описания атрибутов и отношений в онтологиях.
7) Какие виды свойств существуют?
Существуют объектные свойства (object properties) и свойства данных (data properties).
8) Существуют ли рекомендации для имен свойств? Если да, то какие?
Имена свойств также должны быть информативными и ясно отражать их семантику.
Рекомендуется использовать глагольные или существительные фразы, описывающие
отношения между объектами или значениями данных.
9) Что такое функциональные свойства?
Функциональные свойства - могут иметь только одно значение для каждого индивида.
Например, свойство "имя" для каждого человека.
10) Что такое транзитивное свойство?
Транзитивное свойство - передается через другие свойства. Например, если A связано с
B, а B связано с C, то можно сделать вывод, что A связано с C.
Вывод: OWL позволяет формализовывать знания о предметной области с
использованием классов, свойств и отношений между ними, предоставляя мощные средства
для создания сложных иерархий, определения свойств и ограничений на данные. В нем
существуют различные виды свойств: объектные, свойства данных, функциональные и
транзитивные. OWL обеспечивает возможность создания точных и формализованных
моделей данных, что делает его ценным инструментом для разработки семантических
приложений и систем, способствуя обмену и интеграции знаний.
Скачать