Sb96724
.pdf
Рис. 1.10. Окно создания свойства
4.2. Для задания имени свойству в поле Name введите строку фамилия и щелкните кнопку ОК. В панели свойств появится созданное свойство
(рис. 1.11).
Рис. 1.11. Панель свойств с созданным свойством
4.3. Это свойство должно иметь строковый тип, значением которого в общем случае является любая строка из цифр, букв и пробелов. Для задания требуемого типа нужно щелкнуть кнопку
рядом с пунктом Ranges в панели Description в правой части окна. Откроется окно, содержащее список стандартных типов данных XML Schema (рис. 1.12), которые используются в языке OWL в качестве значений примитивных свойств.
Для задания строкового типа выберите в этом окне вкладку Built in datatypes, выделите в ней пункт xsd:string и щелкните кнопку ОК.
В онтологиях, основанных на OWL (дескриптивных логиках), свойства ассоциируются с классами, которые могут ими обладать, через атрибут domain.
11
Рис. 1.12. Выбор типа свойства
4.4. Для задания классов, которые могут обладать данным свойством, нужно щелкнуть кнопку
рядом с пунктом Domains в панели Description. Откроется окно, в котором нужно выбрать вкладку Class hierarchy. В этой вкладке отображается созданная иерархия классов (рис. 1.13).
12
Рис. 1.13. Выбор домена для свойства
Выберите класс Человек и щелкните кнопку ОК.
Панель Description для свойства фамилия примет вид, показанный на рис. 1.14. Таким образом, определено, что свойство фамилия относится к классу Человек и может принимать значения строкового типа.
Рис. 1.14. Панель Description
4.5. Установите флаг functional в панели Characteristics в средней части окна. Этот флаг указывает, что данное свойство имеет только одно значение.
13
4.6. Теперь создадим у класса Преподаватель объектное свойство преподает. Убедитесь, что выбрана вкладка Entities и выберите вложенную вкладку Object properties. Выберите свойство topObjectProperty (рис. 1.15).
Рис. 1.15. Панель объектных свойств
Щелкните кнопку создания нового свойства
, расположенную в левом верхнем углу. В открывшемся окне введите имя свойства преподает и щелкните кнопку ОК.
4.7. Аналогично рассмотренному выше свойству фамилия укажем классы, которые могут обладать данным свойством (Преподаватель), и тип допустимых значений (Дисциплина). Так как преподаватель может вести несколько дисциплин, флаг functional для свойства преподает устанавливать не надо.
Панели Characteristics и Description должны принять вид, показанный на рис. 1.16.
Рис. 1.16. Параметры объектного свойства
14
|
4.8. Для перечисленных классов |
создайте указанные свойства и |
||
установите для них флаг functional. |
|
|
||
|
|
|
|
|
|
Класс (domain) |
Свойство |
|
Тип значения (range) |
|
Человек |
имя |
|
xsd:string |
|
|
отчество |
|
xsd:string |
|
|
возраст |
|
xsd:integer |
|
|
|
|
|
|
Учащийся |
обучается |
|
Дисциплина |
|
|
курс |
|
xsd:integer |
|
|
|
|
|
|
Дисциплина |
название |
|
xsd:string |
|
|
часы_лекций |
|
xsd:integer |
|
|
часы_практики |
|
xsd:integer |
|
|
|
|
|
5. Создание индивидов (экземпляров классов).
Индивиды представляют собой конкретные объекты предметной области. Перед началом создания индивидов следует убедиться, что онтология предметной области хорошо структурирована.
Для создания индивида класса Дисциплина:
•выберите вкладку Individuals by class;
•в панели классов (в левой верхней части окна) выберите класс
Дисциплина;
•в панели индивидов (в левой нижней части окна) щелкните кнопку
создания |
и в появившемся окне заполните название экземпляра |
(рис. 1.17);
Рис. 1.17. Создание экземпляра класса
• свойства экземпляра задаются в панели Property assertions. Задайте нашему экземпляру свойства, указанные на рис. 1.18.
15
Рис. 1.18. Задание свойств экземпляра
6. Расширение онтологии.
6.1.Добавьте 2-3 новых класса в созданную онтологию.
6.2.Создайте несколько новых свойств у классов.
6.3.Создайте по 1-2 экземплярам для каждого класса.
7. Сохранение проекта на языке RDFS.
7.1.Для сохранения проекта выберите пункт главного меню File Save
ив открывшемся окне (рис. 1.19) выберите формат RDF/XML Syntax.
Рис. 1.19. Сохранение онтологии на языке RDFS
7.2. Появится стандартное окно Windows для работы с файлами. Укажите в нем имя файла (например, MyOntology), каталог и щелкните кнопку Save.
16
7.3. При сохранении файл будет записан на языке RDFS. Чтобы убедиться в этом, откройте созданный файл проекта в любом текстовом редакторе (например, в Блокноте или WordPad).
8. Сохранение проекта на языке OWL.
Созданную онтологию можно также сохранить на языке OWL (стандарт языка онтологий семантического Web).
Выберите пункт главного меню File Save as… и в появившемся окне выберите формат OWL/XML Syntax. Откройте полученный файл в текстовом редакторе и изучите особенности представления онтологий на языке OWL.
1.3.Содержание отчета
1.Цель выполнения работы.
2.Краткая характеристика редактора онтологий Protégé.
3.Графическое изображение созданной онтологии.
4.Скриншоты экранных форм с вкладками созданных классов, свойств и индивидуумов.
5.Представление онтологии в машинном формате.
6.Выводы о результатах работы.
1.4.Вопросы для самоконтроля
1.Каковы основные функциональные возможности редактора онтологий
Protégé?
2.Как добавить в онтологию новый класс?
3.Как реализовать множественное наследование классов?
4.Как добавить в онтологию новое свойство?
5.Какие бывают типы свойств?
6.Что определяют свойства domain и range?
7.Как задать функциональное свойство?
8.Как добавить в онтологию нового индивидуума?
9.Как сохранить созданную онтологию на языке OWL?
17
ЛАБОРАТОРНАЯ РАБОТА № 2 Изучение методологий и визуальных средств проектирования онтологий
Цель работы: закрепить на практике знание методологий проектирования онтологий и сформировать практические навыки работы с визуальными средствами проектирования.
2.1. Общие сведения
Методология разработки онтологий в общем случае содержит следующие этапы:
1.Определение предметной области и сферы охвата (scope) онтологии.
2.Рассмотрение вариантов использования существующих онтологий.
3.Выделение важных терминов предметной области.
4.Определение классов и иерархии классов.
5.Определение свойств классов и их ограничений.
6.Создание экземпляров.
На первом этапе определяется предметная область, которая должна охватываться онтологией, для чего будет использоваться, на какие типы вопросов данная онтология должна давать ответы, кто будет ее использовать и поддерживать.
На втором этапе рассматриваются существующие онтологии, имеющие отношение к данной предметной области. В Internet в настоящее время доступно множество онтологий (например, [7], [8]). На данном этапе анализируется возможность использования существующих онтологий.
Доступные в электронном виде онтологии могут быть импортированы с использованием среды проектирования онтологии. Формат представления (язык) онтологии часто не имеет значения, так как многие системы представления знаний могут импортировать и экспортировать онтологии в разных форматах.
На третьем этапе составляется список всех терминов, которые предполагается включить в онтологию. Например, в число важных терминов, связанных с учебным процессом, входят «студент», «преподаватель», «дисциплина» и т. д. Сначала строится полный список терминов без учета возможных пересечений соответствующих им понятий, отношений между терминами, свойств. Затем разрабатывается иерархия классов и определяются их свойства. Эта два этапа тесно переплетены и являются
18
важнейшими в процессе проектирования онтологии. Обычно в процессе разработки формируется несколько классов, затем описываются свойства этих классов и т. д.
На четвертом этапе возможны следующие подходы:
•Нисходящая разработка начинается с определения самых общих понятий предметной области с последующей конкретизацией понятий. Например, можно начать с создания классов для общих понятий «Преподаватель» и «Дисциплина». Затем конкретизировать класс «Преподаватель», создавая его подклассы: «Профессор», «Доцент», «Ассистент», «Аспирант» и т. д.
•Восходящая разработка начинается с определения самых конкретных классов, листьев иерархии, с последующей группировкой этих классов в более общие понятия. Например, сначала можно определить классы «Профессор», «Доцент», «Ассистент». Затем создать общий надкласс для этих классов – «Преподаватель», который в свою очередь может быть подклассом класса «Сотрудник_университета».
•Комбинированная разработка сочетает нисходящий и восходящий подходы: сначала определяются наиболее очевидные понятия, затем они обобщаются и ограничиваются. Можно начать с нескольких понятий высшего уровня, таких как «Преподаватель», и нескольких конкретных понятий. Затем можно соотнести их с понятием среднего уровня. После этого может понадобиться сформировать все классы преподавателей, формируя таким образом ряд понятий среднего уровня. Комбинированный подход проектирования иерархии классов используется чаще всего, так как понятия, находящиеся «посередине», имеют тенденцию быть самыми наглядными понятиями в предметной области.
Свойство представляет собой бинарное отношение. На этапе определения свойств для каждого свойства задается его область определения (Domains) и область значений (Ranges). Область определения свойства задает классы, к которым может относиться данное свойство. Область значений определяет множество значений, которые может принимать данное свойство. Различают два типа свойств: примитивные (DatatypeProperty) и объектные (ObjectProperty) свойства. Значениями примитивных свойств являются RDFлитералы или типы данных, определяемые XML Schema. Значениями объектных свойств являются индивиды определенных классов.
19
Для свойств может быть определена иерархия с использованием rdfs:subPropertyOf.
Свойства могут иметь ограничение на число значений – кардинальность. С помощью ограничения «cardinality» можно задать точное число значений свойства. С помощью ограничений «minCardinality» и «maxCardinality» задаются ограничения соответственно на минимальное и максимальное число значений свойства.
Кроме того, существуют 8 характеристик свойств.
Cвойство p, связывающее индивида а с индивидом b, является обратным (Inverse Of) свойству q, связывающему индивида b с индивидом а.
Cвойство является функциональным (Functional), если для данного индивида может существовать не более одного значения этого свойства. Например, свойство «рост» у класса «Человек» является функциональным, так как оно не может иметь несколько значений.
Cвойство является обратно функциональным (Inverse Functional),
каждое значение свойства однозначно определяет индивида. Например, свойство «номер паспорта» у класса «Человек» является обратно функциональным, так как определенный номер паспорта может быть только у одного человека.
Cвойство является транзитивным (Transitive), если из того, что это свойство связывает индивида a с индивидом b и индивида b с индивидом c, следует, что оно связывает индивида a с индивидом c.
Cвойство является симметричным (Symmetric), если из того, что оно связывает индивида a с индивидом b, следует, что оно же связывает индивида b с индивидом a.
Cвойство является асимметричным (Asymmetric), если из того, что оно связывает индивида a с индивидом b, следует, что индивид b не может быть связан с индивидом a этим свойством.
Cвойство является рефлексивным (Reflexive), если оно связывает индивида с самим собой.
Cвойство является иррефлексивным (Irreflexive), если оно не может связывать индивида с самим собой.
При разработке онтологий полезны средства визуализации онтологий, позволяющие отображать их в виде графов. Protégé для наглядного
20
