Формат обмена правилами
Формат обмена правилами ( RIF ) является рекомендацией W3C . RIF является частью инфраструктуры семантической сети наряду (в основном) со SPARQL , RDF и OWL . Хотя первоначально многие предполагали, что RIF является «слоем правил» для семантической сети, на самом деле конструкция RIF основана на наблюдении, что существует множество «языков правил», и что необходимо, так это обмениваться правилами между ними. [1]
RIF включает в себя три диалекта: основной диалект, который расширен до диалекта базовой логики (BLD) и диалекта производственных правил (PRD). [2]
История [ править ]
Рабочая группа RIF была создана в конце 2005 года. Среди ее целей было привлечение участников рынка коммерческих правил. Рабочая группа начиналась с более чем 50 членов и двух председателей, представляющих промышленность: Кристиана де Сент-Мари из ILOG и Криса Велти из IBM . На хартию по разработке формата обмена между существующими системами правил повлиял семинар, проведенный весной 2005 года, на котором было ясно, что один язык правил не будет отвечать потребностям всех заинтересованных сторон (д-р Велти описал результаты семинара как равновесие Нэша [3] ).
RIF стал рекомендацией W3C 22 июня 2010 г. [4]
Правила и системы правил [ править ]
Правило , пожалуй, одно из самых простых понятий в информатике: это конструкция ЕСЛИ – ТО. Если какое-то условие (часть IF), которое можно проверить в некотором наборе данных, выполняется, то обрабатывается вывод (часть THEN). В некоторой степени основанные на логике , системы правил используют понятие предикатов, которые содержат или не содержат какой-либо объект или объекты данных. Например, тот факт, что два человека состоят в браке, можно представить с помощью таких предикатов:
MARRIED(LISA,JOHN)
MARRIED — это предикат, который, можно сказать, существует между LISA и JOHN . Если добавить понятие переменных, правило может выглядеть примерно так:
IF MARRIED(?x, ?y) THEN LOVES(?x, ?y)
Мы могли бы ожидать, что для каждой пары ?x и ?y (например, LISA и JOHN ), для которой имеет место предикат MARRIED , некоторая компьютерная система, которая могла бы понять это правило, пришла бы к заключению, что предикат LOVES справедлив и для этой пары.
Правила — это простой способ кодирования знаний и радикальное упрощение логики первого порядка , для которого относительно легко реализовать механизмы вывода, способные обрабатывать условия и делать правильные выводы. Система правил — это реализация определенного синтаксиса и семантики правил, которая может расширить простое понятие, описанное выше, включив в него экзистенциальную квантификацию , дизъюнкцию , логическое соединение , отрицание , функции , немонотонность и многие другие функции. Системы правил внедрялись и изучались с середины 1970-х годов и получили значительное распространение в 1980-х годах, в период расцвета так называемых экспертных систем .
диалекты Стандартные RIF
Стандартными диалектами RIF являются Core, BLD и PRD. Эти диалекты зависят от обширного списка типов данных со встроенными функциями и предикатами для этих типов данных.
Отношения различных диалектов RIF показаны на следующей диаграмме Венна. [5]
ДТБ [ править ]
Типы данных и встроенные модули (DTB) определяют список типов данных, встроенных функций и встроенных предикатов, которые, как ожидается, будут поддерживаться диалектами RIF. Некоторые типы данных адаптированы из типов данных XML-схемы . [6] XPath- функции [7] и функции rdf:PlainLiteral. [8]
Ядро [ править ]
Основной диалект представляет собой общее подмножество большинства диалектов правил. RIF-Core является подмножеством RIF-BLD и RIF-PRD.
ФЛД [ править ]
Структура логических диалектов (FLD) описывает механизмы определения синтаксиса и семантики логических диалектов RIF, включая RIF-BLD и RIF-Core, но не RIF-PRD, который не является логическим диалектом RIF.
БЛД [ править ]
Базовый логический диалект (BLD) добавляет к базовому диалекту функции, которые недоступны напрямую, такие как: логические функции, равенство в части then и именованные аргументы . RIF BLD соответствует положительным журналам данных, то есть логическим программам без функций и отрицаний.
РИФ-BLD имеет теоретико-модельную семантику.
Синтаксис кадров RIF BLD основан на F-логике , но RIF BLD не имеет немонотонных функций рассуждения F-логики. [9]
ПРД [ править ]
Диалект производственных правил (PRD) можно использовать для моделирования производственных правил . Особенности, которые особенно присущи PRD, но не BLD, включают отрицание и опровержение фактов (таким образом, PRD не является монотонным). Правила PRD зависят от порядка, поэтому необходимы стратегии разрешения конфликтов, когда может быть активировано несколько правил. Спецификация PRD определяет одну из таких стратегий разрешения, основанную на рассуждениях о прямой цепочке .
РИФ-ПРД имеет операционную семантику , тогда как формулы условий имеют еще и теоретико-модельную семантику.
Пример (Пример 1.2 в [10] )
Prefix(ex <http://example.com/2008/prd1#>)
(* ex:rule_1 *)
Forall ?customer ?purchasesYTD (
If And( ?customer#ex:Customer
?customer[ex:purchasesYTD->?purchasesYTD]
External(pred:numeric-greater-than(?purchasesYTD 5000)) )
Then Do( Modify(?customer[ex:status->"Gold"]) ) )
Нестандартные диалекты РИФ [ править ]
Существует несколько других диалектов RIF. Ни один из них официально не одобрен W3C и не является частью спецификации RIF.
КАСПД [ править ]
Диалект программирования основного набора ответов (CASPD) [11] основан на программировании набора ответов , то есть декларативном логическом программировании, основанном на семантике набора ответов ( семантике стабильной модели ).
Пример:
Document( Prefix(ex <http://example.com/concepts#>) Group ( Forall ?S ( ex:afraid(?S ex:Math) :- And ( ?S#ex:Student (Naf Neg ex:afraid(?S ex:Math)) ) ) Forall ?S ( Neg ex:afraid(?S ex:Math) :- And ( ?S#ex:Student ?S[ex:majors -> ex:Math] ) ) )
УРД [ править ]
Диалект правил неопределенности (URD) [12] поддерживает прямое представление неопределенных знаний.
Пример:
Document( Import (<http://example.org/fuzzy/membershipfunction >) Group ( Forall ?x ?y( cheapFlight(?x ?y) :- affordableFlight(?x ?y) ) / 0.4 Forall ?x ?y(affordableFlight(?x ?y)) / left_shoulder0k4k1k3k(?y) ) )
ШЕЛК [ править ]
РИФ-ШЕЛК [13] может использоваться для моделирования логики по умолчанию . Он основан на декларативном логическом программировании с обоснованной семантикой . RIF-SILK также включает ряд других функций, присутствующих в более сложных языках программирования с декларативной логикой, таких как SILK. [14]
Пример
Document { Prefix(foaf http://xmlns.com/foaf/0.1/) Prefix(pub http://example.org/pub#) Prefix(silk http://TBD/silk#) Group { (* r1 *) Forall ?a1 ?a2 ?paper (?a1[foaf:knows->?a2] :- ?paper # pub:Publication[pub:author->?a1, pub:author->?a2}]) (* r2 *) Forall ?a1 ?a2 (neg ?a1[foaf:knows->?a2] :- ?a1[hasNeverMet->?a2]) silk:overrides(r2, r1) } }
См. также [ править ]
- Выравнивание онтологии
- Р2МЛ
- Представление производственных правил - сравнимо с диалектом RIF, называемым Диалектом производственных правил, хотя нацелено на моделирование, а не на обмен во время выполнения.
Ссылки [ править ]
- ^ Кифер, Майкл (2008). « Формат обмена правилами: основа ». в: Веб-рассуждения и системы правил. Конспекты лекций по информатике
- ^ Обзор РИФ
- ^ Велти, Крис (2009). « Формат обмена правилами ». Приглашенный доклад на NY Semantic Web Meetup.
- ^ Основной диалект RIF
- ^ Варианты использования и требования RIF
- ^ Типы данных XML-схемы
- ^ XPath-функции
- ^ rdf:PlainLiteral: тип данных для простых литералов RDF
- ^ М. Креч (октябрь 2010 г.). Описание Логические правила . ИОС Пресс. п. 10. ISBN 978-1-61499-342-1 .
- ^ Спецификация РИФ-ПРД
- ^ Диалект программирования основного набора ответов RIF
- ^ Чжао и Боли. Обработка неопределенности в формате обмена правилами: от кодирования к расширению. На 4-м международном семинаре по обоснованию неопределенности в семантической сети (URSW), 2008 г.
- ^ диалект РИФ ШЕЛК
- ^ Язык SILK, Бенджамин Грософ, Майкл Кифер, Майк Дин. Вулкан Инк., 2009.