OWL ontology

Явную формальную спецификацию, представляющую информацию о некой предметной области, называют онтологие. owl, в противоположность [rdf] и rdfs, которые ограничены бинарными предикатами и иерархией классов, предоставляет язык онтологии. В настоящий момент используется owl2, который синтаксически основан на rdf и rdfs.

Идиомы выразительности owl2

  • классификация
  • вхождение (членство) в класс
  • равенство и эквивалентность
  • непересекаемость
  • различие
  • комбинация классов
  • локальный диапазон свойств (rdfs позволяет определеить диапазон только глобально)
  • транзитивность, уникальность и обратность свойств
  • ограничение кардинальности свойств
  • непротиворечивость (согласованность)
  • логический вывод

owl реализует концепцию открытого мира (утверждение не о чем либо нельзя трактовать как единственно верное утверждение). Основная проблема owl - баланс между экспрессивностью и разрешимостью. Чем более выразителен язык онтологии, тем менее разрешим в вычислительном смысле логический вывод. По этой причине прдложены два диалекта: OWL2 Full и OWL2 DL. Full основан на rdf и позволяет переопределять примитывы rdf, что обеспечивает полную совместимость с последним и высокую выразительность, но снижает разрешимость. DL работает исключительно с дискрипторными логиками и ограничивает применеение примитивов, с целью реализовать логический вывод за приемлемое время. odl2 dl неполностью совместим с rdf.

Синтаксисы owl

  • функциональный
  • owl/xml
  • манчестерский
  • rdf/xml
  • turtle

Дополнительные типы owl

Для поддержки дополнительных примитивов owl вводит новые типы свойств:

  • объектные свойства (связывают одни экземпляры класса с другими, часто экземлпыры называются индивидами)
  • свойства типов данных (связыват индивидов с литералами)
  • свойства аннотаций (не участвуют в логическом выводе в owl dl)
  • свойства top и bottom - первое связывает все индивиды, второе не связыват никакие. Из этих свойств наследуются некоторые другие свойства для связывания различных индивидов и литералов.
  • транзитивные свойства
  • симметричные и ассиметричные свойства
  • функциональные и обратно функциональные свойства
  • рефлексивные (устанавливающие связь с самим собой) и иррефлексивные свойства.

Кроме того, предоставляются аксимомы свойств (соотнесение комбинации свойств, классов и экземпляров с определенным классом), в том числе:

  • домены и пересечения доменов
  • диапазоны свойств
  • обратные свойства
  • непересекающиеся свойства
  • эквивалентные свойства
  • цепочки свойств

Предоставляются аксиомы классов в виде утверждения ресурс имеет тип <class> (утверждениями принято называть то, что некий ресурс имеет некий тип):

  • наиболее общий класс Thing - все классы являются его подклассом
  • класс Nothing - никто не является его подклассом
  • отношения класс-подкласс
  • эквивалентность
  • трюк метамоделирования (рассмотрение индивидов в качестве классов)
  • перечисления
  • непересекающиеся классы
  • дополнение классов
  • пересечение
  • непересекающееся объединение

Аксиомы классов с ограничением на свойства (ограничивают набор индивидов условием, что они имеют определенные свойства):

  • универстальные ограничения (ограничение на класс A и свойство b означает, что для любого члена класса A все свойства принадлежат определенному классу, по сути это диапазон свойств, определенный локально)
  • ограничение существования
  • необходимые и достаточные условия
  • ограничения на значения
  • ограничения кардинальности
  • ограничения на диапазон значений и типы данных
  • самоограничения

Кроме того, предоставляются утверждения об индивидах (называемые фактами):

  • утверждения о классах и свойствах (принадлежность)
  • утверждение об идентичности индивидов
  • отрицание

Профили языка owl

  • OWL2 EL расширяет дискрипторную логику за счет EL-логики (подходит для приложений с очень большим числом классов и свойств)
  • OWL2 QL эффективно работает с онтологиями, содержащими относительно простые определения классов
  • OWL2 RL - подмножество языка owl2 full.

Логический вывод

OWL2 совместно с RDF реализует логику предикатов. В owl разработчик сам определяет набор правил для логического вывода и свободен использовать любые машины логического вывода. Для обмена правилами используется RIF формат. Дополнительно правила можно выразить на языке SWRL (реализация логики Хорна)

В [sparql] предусмотрен формат SPIN для выражения правил, который вводит оператор CONSTRUCT

owl повзоляет реализовывать как монотонные правила (если вывод делан, то он останется неизменным со временем), так и немнотонные. Кроме того, можно реализовать дедуктивные правила (если A и B, то C тоже истинно) и реативные (если A и B, то выполнить C).