Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МУ ПЗ

.pdf
Скачиваний:
17
Добавлен:
09.02.2015
Размер:
1.02 Mб
Скачать

6. Запись онтологии в форматах RDF и OWL

Цель работы: Получение практических навыков записи онтологии на одном из вебориентированных языков представления онтологии.

Исходные положения

...

Модель онтологии RDF

RDF (Resource Description Framework) - среда описания ресурсов. Задаѐт модель для формального описания различных ресурсов Интернет с помощью метаданных, а также для представления самих этих данных. Является ядром концепции семантического Веб.

Ключевым понятием, описываемым в RDF, является ресурс. «Ресурсом» в RDF может быть любая сущность - как информационная (например, веб-сайт, веб-страница, изображение, аудиофайл, видеофайл и т.п.), так и неинформационная (например, человек, город, или некое абстрактное понятие).

Для различения (именования) ресурсов в документах RDF, каждому из них присваивается свой уникальный URI (Uniform Resource Identifier). В качестве URI может выступать как реальный URL-адрес ресурса (если он есть), так и виртуальный (несуществующий адрес, но не имеющий аналогов в Сети). Бывают случаи, когда описываемые ресурсы располагаются по одному и тому же адресу (например, на одном сайте, на одной и той же веб-странице сайта и т.п.) - в этом случае в конце общей части URI этих ресурсов записывается один и тот же адрес, затем ставится символ «#» (выступает в качестве разделителя), после которого для каждого ресурса записывается свой уникальный идентификатор (ID), не повторяемый среди «соседей» по общему адресу. Таким образом, полный URI ресурса, как правило, состоит из трѐх компонент: базовой части адреса (подругому, она ещѐ называется пространством имѐн), разделителя (#) и идентификатора ресурса. Такая структура URI напоминает ссылки на веб-ресурсы в стиле XPointer. Одним словом, ресурсом в RDF считается любая сущность, имеющая свой уникальный URI

(XPointer-ссылку).

Важно понимать, что URI ресурса в модели RDF играет роль не больше чем просто уникального и неповторимого имени ресурса, отличающего его от остальных описываемых ресурсов в RDF-документе и позволяющего ссылаться на сам ресурс как из того же самого документа, так и из любого другого.

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

Триплет представляет собой утвердительное предложение, состоящее из 3-х слов:

Субъект Предикат Объект (Subject Predicate Object - SPO).

Триплет можно сравнить с обычным повествовательным предложением на естественном языке:

-в качестве «субъекта» в таком предложении обычно выступает подлежащее;

-в качестве «предиката» - сказуемое;

-в качестве «объекта» - дополнение.

Например, предложение «Петя дружит с Сашей» может быть преобразовано в триплет:

Петя дружит_с Саша.

Это означает, что субъект «Петя» связан с объектом «Саша» отношением «дружит_с». С точки зрения объектно-ориентированного программирования (ООП), этот же триплет означает, что у нас есть объект с именем «Петя», в котором содержится поле «дружит_с» со значением (ссылкой на другой объект) «Саша».

31

Таким образом, с точки зрения ООП, триплет RDF иначе называется:

Объект Атрибут Значение (Object Attribute Value - OAV).

Преставление в виде тройки OAV является удобным способом оформления списка имеющихся знаний в форме таблиц (основной структуры базы данных), а также позволяет легко преобразовать полученную таблицу в компьютерный код по методу индукции правил.

Применительно к онтологии, в качестве «субъекта» могут выступать следующие компоненты:

имена классов; имена экземпляров классов;

имена свойств и отношений классов.

В качестве «предиката», как правило, выступают: имена свойств классов; имена отношений классов;

специальные предикаты, не заданные пользователем явно в онтологии, но использующиеся в ней повсеместно (например, отношение «принадлежность к конкретному типу данных» - rdf:type, и др.).

В качестве «объекта» могут выступать:

значения свойств классов (так называемые «литералы»); значения отношений классов (ссылки на другие классы или экземпляры классов);

специальные имена компонентов онтологии, не заданные пользователем явно, но также повсеместно в ней использующиеся (например, ссылка на понятие «класс» - owl:class, ссылка на понятие «свойство класса» - owl:DatatypeProperty, ссылка на понятие «отношение класса»

- owl:ObjectProperty и т.п.).

Замечание: как видно, в качестве «субъекта» и «предиката» выступают «RDFресурсы» (т.е. компоненты онтологии, имеющее свой уникальный URI), а в качестве «объекта» могут выступать как «RDF-ресурсы», так и «RDF-литералы».

«Литералом» в RDF считается запись любого простого типа данных (строкового, целочисленного, вещественного, булевого, даты и т.п.), не связанная напрямую с каким-либо ресурсом Сети (т.е. не имеющая свой уникальный URI), но являющаяся значением какихнибудь его свойств (характеристик).

Примеры литералов:

Ф.И.О. людей, названия улиц, адреса, URL-ссылки, марки автомобилей и т.п.; какие-либо числа (целые или вещественные); любой текст (строковое значение);

значения «true» или «false»; даты, время и т.п.

С точки зрения онтологии, литералами являются значения простых свойств классов

(datatype properties).

Пример полной записи триплета RDF:

1) По аналогии с вводимым ранее примером, можно установить, что в качестве «субъекта» у нас выступает экземпляр класса «Человек» по имени «Петя». Базовый адрес его

онтологии - «http://www.owl-ontologies.com/friends.owl». Таким образом, полный URI

этого ресурса будет такой: http://www.owl-ontologies.com/friends.owl#Петя.

2) В качестве «предиката» у нас выступает отношение «дружит_с», проводящееся от класса «Человек» к классу «Человек». Базовый адрес онтологии этого ресурса -

32

«http://www.owl-ontologies.com/friends.owl». А полный URI ресурса будет такой:

http://www.owl-ontologies.com/friends.owl#дружит_с.

3) В качестве «объекта» у нас выступает экземпляр класса «Человек» по имени

«Саша». Базовый адрес его онтологии - «http://www.owl-ontologies.com/friends.owl». А

полный URI ресурса такой: http://www.owl-ontologies.com/friends.owl#Саша.

Таким образом, запись полного триплета будет выглядеть так:

http://www.owl-ontologies.com/friends.owl#Петя http://www.owlontologies.com/friends.owl#дружит_с http://www.owlontologies.com/friends.owl#Саша

Связь RDF с логикой предикатов первого порядка

Как известно, логика предикатов первого порядка позволяет записывать N-местные предикаты в следующем формате:

predicate(term1, term2, ..., termN),

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

В триплете в качестве «связующего слова» используется предикат, а в качестве термов - субъект и объект. Тогда триплет «Subject Predicate Object» может быть представлен с помощью 2х-местного предиката следующим образом:

Predicate(Subject, Object).

Пример:

Введѐнный выше пример триплета «Петя дружит_с Саша» на языке логики предикатов первого порядка может быть записан так:

дружит_с(Петя, Саша).

Нотации RDF

В RDF существует множество нотаций - конкретных форматов записи триплетов. Каждый из них имеет свой синтаксис. Наиболее известными являются:

RDF/XML;

RDF/JSON;

RDFa (RDF in attributes); N3 (Notation 3);

N-Triples (один из наиболее распространѐнных форматов; в частности именно в этом формате записываются поисковые триплеты языка запросов SPARQL);

Turtle.

Особенность записи триплетов в нотации N-Triples заключается в том, что все используемые в нѐм ресурсы записываются с полным URI и с заключением его в угловые скобки (<...>) по примеру тега. При этом, каждый триплет записывается в отдельной строчке и без внутренних сокращений (т.е. нельзя пропустить в записи ни одного из 3-х компонент триплета, как это сделано, например, в нотации N3 для оптимизации объѐма всех записей). В конце записи каждого триплета ставится точка (.).

Таким образом, описанный выше пример полного триплета в нотации N-Triples записывается так:

<http://www.owl-ontologies.com/friends.owl#Петя> <http://www.owlontologies.com/friends.owl#дружит_с> <http://www.owlontologies.com/friends.owl#Саша>.

Графическое представление RDF-триплетов

33

Триплет «Subject Predicate Object» в семантической сети представляется в

виде:

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

Замечание: если в качестве объекта в триплете выступает литерал, то он записывается уже не внутри овала, а внутри прямоугольника.

Таким образом, множество RDF-триплетов, соединѐнных через общие вершины (субъекты или объекты), образуют ориентированный граф, который образует семантическую сеть онтологии.

Пример:

Триплет «Петя дружит_с Саша» в семантической сети может быть визуализирован следующим образом:

дружит_с

Петя

Саша

Представление RDF-модели онтологии в формате XML

Структура документа RDF:

Любой документ RDF является так же документом XML, поэтому начинается с объявления <?xml ?>. Такие документы должны также содержать особый корневой элемент <RDF>, в который вложена остальная часть документа. А поскольку пространство имен, используемое в документе RDF, обычно задается с помощью префикса rdf:, элемент <RDF> зачастую указывается в виде <rdf:RDF> следующим образом:

<?xml version=”1.0” ?>

<rdf:RDF ...>

...

</rdf:RDF>

Пространство имѐн RDF:

Согласно рекомендациям консорциума W3C, пространством имѐн RDF является

«http://www.w3.org/1999/02/22-rdf-syntax-ns#». Решѐтка на конце служит для создания в приложениях действительных указателей XPointer. Вместе с пространством имѐн RDF структура документа примет вид:

<?xml version=”1.0” ?> <rdf:RDF

xmlns:rdf=” http://www.w3.org/1999/02/22-rdf-syntax-ns#”>

...

</rdf:RDF>

Элемент описания RDF:

Каждый ресурс в RDF соответствует одному элементу описания <rdf:Description>. Этот элемент имеет следующие атрибуты:

about – указывает на описываемый ресурс;

34

aboutEach – позволяет составить предложения о каждом элементе, порожденном данным элементом;

aboutEachPrefix – позволяет выбрать с помощью префикса элементы контейнера RDF; bagID – указывает идентификатор контейнера Bag;

ID – задает идентификатор элемента; type – указывает тип описания.

<?xml version=”1.0” ?>

<rdf:RDF xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”>

<rdf:Description rdf:about=”http://www.logic_gate_a1.com/index.html”>

...

</rdf:Description>

</rdf:RDF>

Для указания значений свойств ресурса используются элементы свойств. Эти элементы задаются внутри элемента <rdf:Description>. Например:

<?xml version=”1.0” ?> <rdf:RDF

xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”> <rdf:Description about=”http://www.logic_gate_a1.com/index.html”>

<title>And gate</title> </rdf:Description>

</rdf:RDF>

Свойство <title> не является встроенным. На самом деле, в описании RDF свойства вообще отсутствуют. Поэтому именованные свойства, предназначенные для описания ресурса, приходится создавать самостоятельно или воспользоваться общепризнанными словарями. Спецификация RDF представлена в таблицах 1 и 2, которые приводятся далее.

Язык описания RDF-схемы (RDFS)

RDF описывает, как указывать информацию о ресурсе, но сама информация не имеет значения. Для определения типов элементов и их отношений – таких, как классы и подклассы – необходимо расширить словарь. Расширение словаря заключено в языке описания RDF-схемы. Язык описания RDF-схемы (иначе говоря, RDF-схема или RDFs) имеет собственную область имен, набор предопределенных элементов и атрибутов. В данном разделе узнаем, как создавать классы, объекты и их связи.

В таблице 1 представлена спецификация классов RDF/RDFS:

35

 

 

 

 

 

Таблица 1

Имя класса

 

Пояснение

 

 

 

 

rdfs:Resource

 

Класс ресурс, включает «всѐ»

 

 

 

 

 

 

 

 

 

 

 

rdfs:Literal

 

Класс литеральных значений, текстовых строк или

 

 

 

чисел

 

 

 

 

 

 

 

 

 

 

 

 

rdf:XMLLiteral

 

Класс XML литералов

 

 

 

 

 

 

 

 

 

 

 

 

rdfs:Class

 

Класс классов

 

 

 

 

 

 

 

 

 

 

 

 

rdf:Property

 

Класс RDF свойств

 

 

 

 

 

 

 

 

 

 

 

 

rdfs:Datatype

 

Класс типов данных RDF

 

 

 

 

 

 

 

 

 

 

 

 

rdf:Statement

 

Класс утверждений

 

 

 

 

 

 

 

 

 

 

 

 

rdf:Bag

 

Класс неупорядоченных контейнеров

 

 

 

 

 

 

 

 

 

 

 

rdf:Seq

 

Класс упорядоченных контейнеров

 

 

 

 

 

 

 

 

 

 

 

rdf:Alt

 

Класс контейнеров-альтернатив

 

 

 

 

 

 

 

 

 

 

 

rdfs:Container

 

Класс RDF контейнеров

 

 

 

 

 

 

 

 

 

 

 

 

rdfs:ContainerMembershipProperty

Класс свойств «членства» в контейнерах, rdf:_1,

 

 

 

rdf:_2, ..., все они являются подсвойствами свойства

 

 

 

member (член)

 

 

 

 

rdf:List

 

Класс RDF списков

 

 

 

 

 

 

 

 

 

 

 

 

В таблице 2 содержится спецификация свойств RDF/RDFS:

 

 

 

 

 

 

 

 

Таблица 2

Имя свойства

Пояснение

Домен

Диапазон

 

rdf:type

Субъект является экземпляром класса

rdfs:Resource

rdfs:Class

 

 

 

 

 

 

 

 

rdfs:subClassOf

Субъект является подклассом класса

rdfs:Class

rdfs:Class

 

 

 

 

 

 

 

 

rdfs:subPropertyOf

Субъект является подсвойством

rdf:Property

rdf:Property

 

 

свойства

 

 

 

 

rdfs:domain

Домен свойства субъекта

rdf:Property

rdfs:Class

 

 

 

 

 

 

 

 

rdfs:range

Диапазон свойства субъекта

rdf:Property

rdfs:Class

 

 

 

 

 

 

 

 

rdfs:label

Человекочитаемое название субъекта

rdfs:Resource

rdfs:Literal

 

 

 

 

 

 

 

 

rdfs:comment

Текстовое описание ресурса

rdfs:Resource

rdfs:Literal

 

 

 

 

 

 

 

 

rdfs:member

Член ресурса субъекта

rdfs:Resource

rdfs:Resource

 

 

 

 

 

 

 

 

rdf:first

Первый элемент списка

rdf:List

rdfs:Resource

 

 

 

 

 

 

 

 

rdf:rest

Оставшийся за первым элементом

rdf:List

rdf:List

 

 

«хвост» списка

 

 

 

 

rdfs:seeAlso

Дополнительная информация о

rdfs:Resource

rdfs:Resource

 

 

субъекте

 

 

 

 

rdfs:isDefinedBy

Определение ресурса субъекта

rdfs:Resource

rdfs:Resource

 

 

 

 

 

 

 

 

rdf:value

Свойство, используемое для

 

rdfs:Resource

rdfs:Resource

 

 

 

 

 

 

Окончание

табл. 6.2

 

 

 

структурированных значений

 

 

 

 

rdf:subject

Субъект RDF утверждения (см.

rdf:Statement

rdfs:Resource

 

 

реификация)

 

 

 

 

 

 

 

 

 

36

Имя свойства

Пояснение

Домен

Диапазон

rdf:predicate

Предикат утверждения (см.

rdf:Statement

rdfs:Resource

 

реификация)

 

 

rdf:object

Объект RDF утверждения (см.

rdf:Statement

rdfs:Resource

 

реификация)

 

 

Создание классов:

Первым шагом в определении лексикона, является создание классов. Как и классы в объектно-ориентированном языке программирования, классы RDFs предоставляют шаблон для создания объектов или, говоря языком RDF, индивидуализированных объектов

(individuals):

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdf:Description rdf:ID="Gates">

<rdf:type rdfs:resource="http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description>

<rdf:Description rdf:ID="TTLs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description>

<rdf:Description rdf:ID="TTLCHs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description>

<rdf:Description rdf:ID="MOPs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description>

<rdf:Description rdf:ID="CMOPs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description>

<rdf:Description rdf:ID="ELLs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description>

</rdf:RDF>

В данном случае мы создали шесть классов. Это классы, поскольку они маркированы типом http://www.w3.org/2000/01/rdf-schema#Class. Фактически могли использовать <rdfs:Class>, а не <rdf:Description>.

Создание подклассов:

Определив классы, можно создать их отношения. Можно сделать это посредством свойства rdfs:subClassOf:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdf:Description rdf:ID="Gates">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />

37

</rdf:Description>

<rdf:Description rdf:ID="TTLs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />

<rdfs:subClassOf rdf:resource="#Gates" />

</rdf:Description>

<rdf:Description rdf:ID="TTLCHs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />

<rdfs:subClassOf rdf:resource="#Gates" />

</rdf:Description>

<rdf:Description rdf:ID="MOPs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />

<rdfs:subClassOf rdf:resource="#Gates" />

</rdf:Description>

<rdf:Description rdf:ID="CMOPs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />

<rdfs:subClassOf rdf:resource="#Gates" />

</rdf:Description>

<rdf:Description rdf:ID="ELLs">

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class" />

<rdfs:subClassOf rdf:resource="#Gates" />

</rdf:Description>

</rdf:RDF>

Мы определили пять классов как подклассы класса Gates.

Создание объектов:

Для создания объекта класса просто задаем в качестве типа имя этого класса:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

...

<rdf:Description rdf:ID="74LS266"> <rdf:type rdf:resource="#TTLs" />

</rdf:Description>

...

</rdf:RDF>

Мы создали объект 74LS266 и определили его тип. Теперь рассмотрим, как добавлять свойства к созданным классам.

Добавление свойств:

В объектно-ориентированном языке программирования мы обычно создаем свойства (properties) в рамках класса. В RDFs мы создаем свойства сами по себе, как самостоятельные объекты, и присваиваем их классам:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

...

<rdf:Property rdf:ID="price">

38

<rdfs:domain rdf:resource="#Gates" />

<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float" /> </rdf:Property>

<rdf:Property rdf:ID="type"> <rdfs:domain rdf:resource="#Gates" />

</rdf:Property>

...

</rdf:RDF>

Мы создали два свойства – price и type – и указали их область определения и область значений. Область определения (domain) – это тип ресурсов, которые могут иметь указанное свойство, а область значений (range) – это тип данных, которые оно может содержать.

Область определения очень важна, поскольку можно использовать ее в логических суждениях. Например, мы знаем, что свойство type может быть только в Gates, поэтому, если объект имеет такое свойство, то мы знаем, что это Gates, даже если он не указан явным образом.

Язык Web-онтологий (OWL)

Стандарт языка описания онтологий в Web OWL (Web Ontology Language) определяет один из ключевых компонентов SemWeb. Фактически это словарь, расширяющий набор терминов определенных RDFS.

10 февраля 2002 года консорциум W3C присвоил OWL статус рекомендованной к реализации технологии. Эта дата и была названа некоторыми специалистами официальным днем рождения семантической сети.

OWL является рекомендацией W3C и объединяет лучшие черты своих предшественников.

Диалекты языка OWL:

OWL предлагает три варианта своей реализации:

OWL Full. OWL Full (полная версия) практически позволяет делать все, что разрешено RDF. OWL Full предназначается для пользователей, которые хотят максимальную выразительность и синтаксическую свободу RDF без вычислительных гарантий. Можно определять классы в процессе работы, использовать классы как свойства или объекты, и строить онтологии не всегда разрешимые, имея в виду, что программа может не иметь достаточно информации, чтобы ответить на все вопросы, предполагаемые данными. Даже спецификации OWL указывают на то, что маловероятно, чтобы один инструмент мог когдалибо обеспечить поддержку всех возможностей OWL Full.

OWL DL. DL обозначает description logic (логика описания или дескриптивная логика) и обладает многими выразительными возможностями OWL Full, но требует, чтобы онтологии были всегда разрешимыми. OWL DL – типичный язык дескриптивной логики. OWL DL был спроектирован, чтобы поддержать существующий сегмент бизнеса, занимающийся дескриптивной логикой, и иметь желательные вычислительные свойства для систем рассуждения. Необходимо, чтобы все классы были явно определены.

OWL Lite. OWL Lite является маломощной, упрощенной версией OWL. Она предназначена для тех, кому нужно создать упрощенную онтологию, и кому не требуются все выразительные возможности языка. Например, OWL Lite позволяет указывать, что для объекта должно существовать свойство, и что оно должно иметь значение, но мы не можем задать, каким должно быть это значение. Это, конечно, простейшая версия для построения инструментов. OWL Lite поддерживает тех пользователей, которые нуждаются, прежде всего, в классификационной иерархии и простых ограничениях. OWL Lite позволяет быструю миграцию тезаурусов и других таксономий.

39

Эти версии вкладываются одна в другую. Качественная онтология OWL Lite также будет и качественной онтологией OWL DL и OWL Full, а качественная онтология OWL DL также будет и качественной онтологией OWL Full.

Структура документа онтологии:

Первым делом является создание фактического документа онтологии. Во многих отношениях он сходен с документами RDF, рассмотренными ранее:

<?xml version="1.0"?> <!DOCTYPE rdf:RDF [

<!ENTITY scheme "http://eltech.ru/schemes#" > <!ENTITY owl "http://www.w3.org/2002/07/owl#" > <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >

]>

<rdf:RDF

xmlns="http://eltech.ru/scheme#"

xmlns:scheme="http://eltech.ru/scheme#"

xml:base="http://eltech.ru/scheme#"

xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <owl:Ontology rdf:about="">

<rdfs:comment>

Пример онтологии для предметной области логических комбинационных схем.

</rdfs:comment>

<rdfs:label>

Онтология логической комбинационной схемы

</rdfs:label>

</owl:Ontology>

</rdf:RDF>

Вверхней части документа мы указываем сущности XML для каждой из строк, содержащих основные пространства имен XML. Эти сущности позволяют легко добавлять пространства имен, где это необходимо. Например, мы можем использовать сущность &xsd; для сокращения записи пространств имен, если мы указывали типы данных, определенные схемой XML.

Далее идет сам элемент <RDF> со всем необходимым для описанных пространств имен. Этот элемент содержит элемент <owl:Ontology>. Это значит, что где-то в пространстве имен owl (http://www.w3.org/2002/07/owl#) содержится описание класса с именем Ontology

(онтология). Это описание позволяет создавать объект Ontology. Поскольку это главный элемент, он не имеет ссылки на другие ресурсы. Создав его, мы можем использовать свойства-метки и свойства-комментарии RDFs для внесения дополнительной информации в сам класс Ontology.

Предопределѐнные классы OWL:

ВOWL каждый класс автоматически является подклассом класса owl:Thing (вещь). В общем, owl:Thing является базовым классом, родительским для всего остального.

OWL также определяет класс owl:Nothing, являющийся пустым классом, не имеющим членов.

Создание классов:

Теперь можем создать собственные OWL классы:

...

<owl:Ontology rdf:about=""> <rdfs:comment>

Пример онтологии для предметной области логических комбинационных схем.

40