Язык OWL (базовые элементы языка)

OWL

OWL (Web Ontology Language) – язык представления онтологий в Web. Фактически это словарь, расширяющий набор терминов определенных RDFS. OWL-онтологии могут содержать описания классов, свойств и их экземпляров. Создание OWL это – ответ на необходимость представления знаний в Сети в едином формате. Исторически предшественником OWL был язык DAML+OIL, объединивший 2 инициативы: проект DAML (DARPA Agent Markup Language) и проект OIL (Ontology Inference Layer). Наиболее ранним проектом представления онтологий в Web был SHOE (Simlpe HTML Ontology Extensions). Ветви развития языков описания онтологий для Web показаны на рис. 3. Верхний уровень: OIL, DAML+OIL и OWL продолжает развиваться, но наибольшей популярностью пользуется OWL. OWL с 2004 года является рекомендацией W3C и объединяет лучшие черты свих предшественников.

Язык OWL (базовые элементы языка) - student2.ru

Рис.20. Основные ветви развития языков описания онтологий для Web

Язык OWL имеет 3 диалекта (подмножества терминов):

• OWL Lite – имеет наименьшую выразительную мощность из всех, но для решения простых задач его может быть достаточно.

• OWL DL – обладает выразительной мощью эквивалентной дескриптивной логике (разрешимой части логики предикатов первого порядка). Для большинства задач встречающихся при проектировании онтологий выразительности этого диалекта достаточно. Диалект имеет два важных свойства: полнота (все заключения являются вычислимыми) и разрешимость (все вычисления завершаются в конечное время). В частности в OWL DL классу запрещено быть экземпляром.

• OWL Full – наиболее выразительный диалект. Эквивалентен RDF. При использовании OWL Full нет никаких гарантий по вычислимости заключений.

Каждый из этих диалектов (кроме Lite) является расширением предыдущего и как следствие: любая OWL Lite онтология является OWL DL онтологией, а любая OWL DL онтология является OWL Full онтологией.

Структура OWL-онтологии

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

Базовые элементы OWL

Классы

В OWL введен новый термин класс (owl:Class). Необходимость этого объясняется тем, что не все классы диалектов DL и Lite являются rdfs классами (в этом случае owl:Class является подклассом rdfs:Class). В диалекте Full, подобных ограничений нет, и owl:Class фактически является синонимом rdfs:Class.

Для организации классов в иерархию используется свойство rdfs:subClassOf.

Особое место занимают два взаимодополняющих класса Thing и Nothing. Первый их них является надклассом любого класса OWL, второй – подклассом любого класса OWL. Экземпляр любого класса OWL входит в экстенсионал класса Thing. Экстенсионал класса Nothing является пустым множеством.

OWL класс может быть описан 6 способами:

1. идентификатором класса (URI)

2. перечислением всех экземпляров класса

3. ограничением на значение свойства

4. пересечением 2 и более определений классов

5. объединением 2 и более определений классов

6. дополнением (логическим отрицанием) определения класса

Только первый способ определяет именованный класс OWL. Все оставшиеся определяют анонимный класс через ограничение его экстенсионала. Способ 2 явно перечисляет экземпляры класса, способ 3 ограничивает экстенсионал только теми экземплярами, которые удовлетворяют данному свойству. Способы 4-6 используют логические операции (AND, OR и NOT) над экстенсионалами соответствующих классов, чтобы определить экстенсионал нового класса.

Описания класса формируют строительные блоки для определения классов через аксиомы.

Простейшая аксиома определяющая именованный класс:

<owl:Class rdf:ID="Human"/>

Все что постулирует эта аксиома – существование класса с именем “ Human”.

В OWL определены еще 3 конструкции, комбинируя которые можно определять более сложные аксиомы классов.

• rdfs:subClassOf говорит о том, что экстенсионал одного класса (подкласса) полностью входит в экстенсионал другого (надкласса).

• owl:equivalentClass говорит о том, что экстенсионалы двух классов совпадают.

• owl:disjointWith говорит о том, что экстенсионалы двух классов не пересекаются. Иногда говорят, что таким образом определяются дизъюнктивные классы.

Свойства

В OWL выделяют две категории свойств: свойства-объекты (или объектные свойства) и свойства-значения. Первые связывают между собой индивиды (экземпляры классов). Вторые связывают индивиды со значениями данных. Оба класса свойств являются подклассами класса rdf:Property.

Для определения новых свойств как экземпляров owl:ObjectProperty или owl:DatatypeProperty используются аксиомы свойств.

Пример аксиомы:

<owl:ObjectProperty rdf:ID="hasParent"/>

Все что постулирует данная аксиома – существование некоторого свойства "hasParent" связывающего экземпляры класса owl:Thing друг с другом.

Кроме того, OWL поддерживает следующие конструкции для построения аксиом свойств:

• Конструкции RDF Schema: rdfs:subPropertyOf (определяет подсвойство данного свойства), rdfs:domain (определяет домен свойства) и rdfs:range (определяет диапазон свойства)

• Отношения между свойствами: owl:equivalentProperty (определяет эквивалентное свойство) и owl:inverseOf (определяет обратное свойство)

• Ограничения глобальной кардинальности: owl:FunctionalProperty (определяет однозначное свойство – однозначное отображение домена свойства на диапазон) и owl:InverseFunctionalProperty (обратно функциональное свойство, т.е. определяет, что свойство обратное данному свойству является однозначным)

• Логические характеристики свойства: owl:SymmetricProperty (определяет свойство как симметричное) и owl:TransitiveProperty (определяет транзитивное свойство).

Индивиды (экземпляры классов или свойств)

Индивиды определяются при помощи аксиом индивидов (т.н. фактов).

Рассмотрим два вида фактов:

1. факты членства индивидов в классах и о значениях свойств индивидов;

2. факты идентичности/различности индивидов

Пример аксиом индивида первого вида:

<Балет rdf:ID="ЛебединоеОзеро">

<имеетКомпозитора rdf:resource="#Чайковский"/>

</Балет>

Данная аксиома постулирует сразу 2 факта: (1) существует некоторый индивид класса «Балет» имеющий имя «ЛебединоеОзеро»; (2) этот индивид связан свойством «имеетКомпозитора» с индивидом: «Чайковский» (определенным где-то в другом месте).

Первый факт говорит о членстве в классе, второй – о значении свойства индивида.

Аксиомы второго вида необходимы для суждения об идентичности индивидов. Дело в том, что в OWL не делается никаких предположений ни о различии, ни о совпадении двух индивидов, имеющих различные идентификаторы URI.

Подобные утверждения выражаются аксиомами идентичности с помощью следующих конструкций:

• owl:sameAs постулирует, что две ссылки URI ссылаются на один и тот же индивид.

• owl:differentFrom постулирует, что две ссылки URI ссылаются на разные индивиды.

• owl:AllDifferent предоставляет средство для определения списка попарно различных индивидов.

На рис. 21 проиллюстрированы основные элементы OWL-онтологии.

Язык OWL (базовые элементы языка) - student2.ru

Наши рекомендации