Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системный анализ, управление и обработка информации. Часть II.pdf
Скачиваний:
59
Добавлен:
05.02.2023
Размер:
4.73 Mб
Скачать

125

<!-- file:///home/upk/ontologies/СУД#ПРОГ -->

<owl:NamedIndividual rdf:about="file:///home/upk/ontologies/СУД#ПРОГ"> <rdf:type rdf:resource="file:///home/upk/ontologies/СУД#СУД"/>

<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Программирование</ rdfs:label>

</owl:NamedIndividual>

<!-- file:///home/upk/ontologies/СУД#СОС -->

<owl:NamedIndividual rdf:about="file:///home/upk/ontologies/СУД#СОС"> <rdf:type rdf:resource="file:///home/upk/ontologies/СУД#СУД"/>

<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Современные операционные системы</rdfs:label>

</owl:NamedIndividual> </rdf:RDF>

<!-- Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi -->

Конец листинга 3.3

3.3.2.3 Онтология «Сотрудники кафедры»

Онтология «Сотрудники кафедры» также была рассмотрена на предыдущем занятии и кажется, что с ней — все нормально:

сами сотрудники являются четко выделенными объектами (owl:NamedIndividual) и принадлежат конкретному классу (owl:Class);

разумным является также объектное отношение (owl:OblectProperty) с именем «может преподавать», связывающее субъект «Сотрудника кафедры» с объектом «Сотрудники кафедры».

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

предикат «может преподавать» - действительно имеет место, но он больше подходит для учебного примера, поскольку перекрывается предикатами, входящими в руководящий документ, например, «Ведомость учебных поручений кафедре»;

каждый сотрудник кафедры имеет некоторую должность, которую следует рассматривать как объект, например, класса «Штатное расписание кафедры» или «Список должностей кафедры»; причем, окончательное регулирование должностями осуществляется не на уровне отдельной кафедры или факультета, а на уровне вуза;

каждый сотрудник кафедры имеет (или не имеет) ученую степень, которая

126

является объектом класса «Список ученых степеней»; причем этот список формируется и утверждается за пределами вуза;

• аналогично, каждый сотрудник кафедры может иметь ученое звание и т. д.

Тамим образом, проведенный анализ показывает, что онтология «Список сотрудников» имеет свои особенности, наиболее важные из которых следует учесть при ее построении и последующем использовании. Другими словами, предметноориентированные онтологии, как и структуры баз данных, всегда создаются в условиях ряда ограничений, определяемых ее прикладным назначением. Дополнительно, на указанные ограничения существенное влияние оказывает размер исследуемой предметной области: чем больше размер области, - тем больше в ней можно выделить классов и отношений.

Учитывая слеланные замечания, создадим онтологию с именем «Список сотрудников», со следующей структурой:

иерархия классов представлена названиями, приведенными в таблице 3.5:

индивидуальные объекты сотрудников взяты из таблицы 3.3 и представлены в формате таблицы 3.6;

онтология сохраняется в файле employees.owl.

 

Таблица 3.5

Имя класса

Структура класса: объединение подклассов

 

 

СписокСотрудников

Должности, УченыеСтепени

 

 

Должности

Профессора, Доценты, Ассистенты, Ст.Преподаватели

 

 

УченыеСтепени

д.т.н, д.ф.м.н, к.т.н, к.ф.м.н

 

 

Таблица 3.6

Кодировка объекта

ФИО сотрудника кафедры АСУ

 

 

А.М.Кориков

Кориков Анатолий Михайлович

 

 

А.Н.Горитов

Горитов Александр Николаевич

 

 

Ю.М.Катаев

Катаев Юрий Михайлович

 

 

В.Г.Резник

Резник Виталий Григорьевич

 

 

В.Д.Сибилев

Сибилев Валерий Дмитриевич

 

 

Воспользовавшись инструментальным средством Protege, создаем нужную нам онтологию, как показано на рисунке 3.34.

Соответственно, на листинге 3.4 онтология «СписокСотрудников» представлен как содержимое файла employees.owl.

Обратите внимание, что индивидуалные объекты сотрудников принадлежат нескольки различным классам.

127

Рисунок 3.34 — Онтология СписокСотрудников в системе Protege

Листинг 3.4 — Содержимое файла employees.owl

<?xml version="1.0"?>

<rdf:RDF xmlns="file:///home/upk/ontologies/СписокСотрудников#" xml:base="file:///home/upk/ontologies/СписокСотрудников" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<owl:Ontology rdf:about="file:///home/upk/ontologies/СписокСотрудников"/>

<!--

///////////////////////////////////////////////////////////////////////////////

//

// Classes

//

///////////////////////////////////////////////////////////////////////////////

-->

<!-- file:///home/upk/ontologies/СписокСотрудников#Ассистенты -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#Ассистенты">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Должности"/>

</owl:Class>

128

<!-- file:///home/upk/ontologies/СписокСотрудников#Должности -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#Должности">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#СписокСотрудников"/>

</owl:Class>

<!-- file:///home/upk/ontologies/СписокСотрудников#Доценты -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#Доценты">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Должности"/>

</owl:Class>

<!-- file:///home/upk/ontologies/СписокСотрудников#Профессора -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#Профессора">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Должности"/>

</owl:Class>

<!-- file:///home/upk/ontologies/СписокСотрудников#СписокСотрудников -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#СписокСотрудников"/>

<!-- file:///home/upk/ontologies/СписокСотрудников#Ст.Преподаватели -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#Ст.Преподаватели">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Должности"/>

</owl:Class>

<!-- file:///home/upk/ontologies/СписокСотрудников#УченыеСтепени -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#УченыеСтепени">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#СписокСотрудников"/>

</owl:Class>

<!-- file:///home/upk/ontologies/СписокСотрудников#д.т.н -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#д.т.н">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#УченыеСтепени"/>

</owl:Class>

129

<!-- file:///home/upk/ontologies/СписокСотрудников#д.ф.м.н -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#д.ф.м.н">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#УченыеСтепени"/>

</owl:Class>

<!-- file:///home/upk/ontologies/СписокСотрудников#к.т.н -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#к.т.н">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#УченыеСтепени"/>

</owl:Class>

<!-- file:///home/upk/ontologies/СписокСотрудников#к.ф.м.н -->

<owl:Class rdf:about="file:///home/upk/ontologies/СписокСотрудников#к.ф.м.н">

<rdfs:subClassOf rdf:resource="file:///home/upk/ontologies/СписокСотрудников#УченыеСтепени"/>

</owl:Class>

<!--

///////////////////////////////////////////////////////////////////////////////

//

// Individuals

//

///////////////////////////////////////////////////////////////////////////////

-->

<!-- file:///home/upk/ontologies/СписокСотрудников#А.М.Кориков -->

<owl:NamedIndividual rdf:about="file:///home/upk/ontologies/СписокСотрудников#А.М.Кориков">

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Профессора"/>

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#д.т.н"/>

<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Кориков Анатолий Михайлович</rdfs:label>

</owl:NamedIndividual>

<!-- file:///home/upk/ontologies/СписокСотрудников#А.Н.Горитов -->

<owl:NamedIndividual rdf:about="file:///home/upk/ontologies/СписокСотрудников#А.Н.Горитов">

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Профессора"/>

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#д.т.н"/>

<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Горитов

130

Александр Николаевич</rdfs:label> </owl:NamedIndividual>

<!-- file:///home/upk/ontologies/СписокСотрудников#В.Г.Резник -->

<owl:NamedIndividual rdf:about="file:///home/upk/ontologies/СписокСотрудников#В.Г.Резник">

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Доценты"/>

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#к.т.н"/>

<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Резник Виталий Григорьевич</rdfs:label>

</owl:NamedIndividual>

<!-- file:///home/upk/ontologies/СписокСотрудников#В.Д.Сибилев -->

<owl:NamedIndividual rdf:about="file:///home/upk/ontologies/СписокСотрудников#В.Д.Сибилев">

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Доценты"/>

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#к.т.н"/>

<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Сибилев Валерий Дмитриевич</rdfs:label>

</owl:NamedIndividual>

<!-- file:///home/upk/ontologies/СписокСотрудников#Ю.М.Катаев -->

<owl:NamedIndividual rdf:about="file:///home/upk/ontologies/СписокСотрудников#Ю.М.Катаев">

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#Профессора"/>

<rdf:type rdf:resource="file:///home/upk/ontologies/СписокСотрудников#д.т.н"/>

<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Катаев

Юрий Михайлович</rdfs:label>

</owl:NamedIndividual> </rdf:RDF>

<!-- Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi -->

Конец листинга 3.4

Замечание

Обратите внимание, что онтологии «СУД» и «СписокСотрудников» не зависят друг от друга и не включают в себя других онтологий предметной области «Кафедра АСУ», поэтому они могут развиваться в плане расширения достаточно автономно.