Московский государственный университет имени М.В.Ломоносова
Опубликован: 05.11.2008 | Доступ: свободный | Студентов: 1319 / 246 | Оценка: 4.32 / 4.15 | Длительность: 11:59:00
ISBN: 978-5-9963-0007-5
Специальности: Программист
Лекция 6:

Языки описания онтологий. Основные синтаксические структуры: классы, отношения, аксиомы

< Лекция 5 || Лекция 6: 12345 || Лекция 7 >

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 показаны на рис. 6.4. Верхний уровень: OIL, DAML+OIL и OWL продолжают развиваться, но наибольшей популярностью пользуется OWL.

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

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

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

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

  • OWL Lite - имеет наименьшую выразительную мощность из всех, но для решения простых задач его может быть достаточно. Данный диалект языка OWL эквивалентен некоторой дескриптивной логике (разрешимой части логики предикатов первого порядка). OWL Lite обладает важнейшим свойством - разрешимостью (т.е. задача вывода следствий из утверждений, сформулированных в этом языке, является вычислимой). Именно разрешимость (и относительно невысокая вычислительная сложность) является главной причиной использования OWL Lite для создания многочисленных практических онтологий (в медицине, биоинформатике и т.п.).
  • OWL DL - обладает большей выразительной мощью, чем OWL Lite, но тоже эквиваленен некоторой (более выразительной) дескриптивной логике. Для большинства задач, встречающихся при проектировании онтологий, выразительности этого диалекта достаточно. OWL DL тоже обладает свойством разрешимости, однако вычислительная сложность у него выше, чем OWL Lite. Разрешимость достигается, в частности, наложением ограничений на синтаксис языка; так, в OWL DL классу запрещено быть экземпляром.
  • OWL Full - наиболее выразительный диалект. Эквивалентен RDF. При использовании OWL Full нет никаких гарантий по вычислимости заключений.

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

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

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

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

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

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

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

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

  1. идентификатором класса (URI);
  2. перечислением всех экземпляров класса;
  3. ограничением на значение свойства;
  4. пересечением 2-х и более определений классов;
  5. объединением 2-х и более определений классов;
  6. дополнением (логическим отрицанием) определения класса.

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

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

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

<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 поддерживает следующие конструкции для построения аксиом свойств:

  • Конструкции RDFS: rdfs:subPropertyOf (определяет подсвойство данного свойства), rdfs:domain (определяет домен свойства) и rdfs:range (определяет диапазон свойства)
  • Отношения между свойствами: owl:equivalentProperty (определяет эквивалентное свойство ) и owl:inverseOf (определяет обратное свойство ).
  • Ограничения глобальной кардинальности: owl:FunctionalProperty (определяет однозначное свойство - однозначное отображение домена свойства на диапазон) и owl:InverseFunctionalProperty ( обратно функциональное свойство, т.е. определяет, что свойство, обратное данному свойству, является однозначным).
  • Логические характеристики свойства: owl:SymmetricProperty (определяет свойство как симметричное ) и owl:TransitiveProperty (определяет транзитивное свойство ).
< Лекция 5 || Лекция 6: 12345 || Лекция 7 >