Совместимость OWL и RIF КОМБИНАЦИИ ОНТОЛОГИЙ И ПРАВИЛ М.К.Валиев (ИПМ РАН) М.И.Дехтярь (Тверской госуниверситет) ПЛАН Необходимость комбинации онтологий и правил Два подхода к интеграции: однородный и гибридный Сценарии обмена правилами со ссылками на онтологии/RDF-графы Синтаксис RIF+RDF/OWL Семантика RIF+RDF: совместные интерпретации Семантика RIF+OWL Full и RIF+OWL DL Заключительные замечания Для чего нужны комбинации? Онтологии : - Богатые средства описания предметной области - Ограниченные средства вывода следствий из имеющихся знаний Пример. Пусть в онтологии имеется информация, что Иван – отец Петра и Николая, Петр и Николай – мужчины и Михаил – брат Ивана (и другой информации о них нет). Как отсюда вывести, что Михаил – дядя Петра, Петр – сын Ивана и Петр с Николаем - братья? Первые две из этих задач решаются в OWL2 довольно просто. В частности, в первом случае достаточно в онтологию ввести аксиому, что отношение «дядя» является композицией (property chain) отношений «отец» и «брат». Второй случай несколько сложнее, а третий вероятно вообще не имеет решения в рамках OWL2. В то же время все три задачи имеют очень простое единообразное решение, если в онтологиях допустить правила типа «если…, то…» Языки правил - Специально построены для вывода следствий - Для эффективности поиска вывода обычно в основе языка лежат продукции или Хорновские правила, что сильно ограничивает описательные возможности языка. Комбинация онтологий и правил позволяет объединить достоинства подходов и обойти их недостатки. Пример (продолжение). Использование правила «если x – отец у, x – отец z, у и z – мужчины, то у и z – братья» совместно с вышеупомянутой онтологией позволяет вывести, что Петр и Николай –братья. Однако синтаксис и семантика языков онтологий (в частности, OWL) и языков правил (в частности, RIF) довольно сильно отличаются, поэтому возникает вопрос, как их совмещать. Однородный подход Онтологии и правила используются на одинаковых правах, т.е. создается единый язык, в котором одни и те предикаты используются как для выражения онтологических утверждений, так и в формулировках правил (в частности, правила можно использовать для определения классов и свойств онтологии). SWRL (Semantic Web Rules Language, OWL DL+Хорновы правила) В этом случае проблема совместимости фактически исчезает: Синтаксис общий Интерпретации тоже общие, их только нужно распространить на правила, что делается достаточно стандартным образом. Недостатки: Совмещение в одном языке разных средств сильно затрудняет его реализацию: в частности, известно, что основные проблемы (выполнимость, следование) для SWRL неразрешимы (хотя разрешимы по отдельности для онтологической компоненты и компоненты правил). Однородный подход часто неприменим, так как онтологии и системы правил могут строиться независимо разными специалистами. Гибридный подход Строго различаются обычные предикаты, которые определяются правилами (они могут участвовать как в условиях (антецедентах) правил, так и в их заключениях (головах)), и предикаты онтологий, которые используются как ограничения в условиях правил. Вывод происходит путем взаимодействия отдельно реализуемых (существующих) программ вывода (reasoner) для правил и для онтологий. Гибридный подход развязывает строителей онтологий и систем правил друг от друга, но, к сожалению, также требуют дополнительных ограничений, чтобы гарантировать разрешимость основных проблем для комбинаций онтологий и систем правил (с разрешимыми проблемами). Подход рабочей группы RIF В применении к RIF-BLD описан в документе «RIF RDF and OWL Compatibility» http://www.w3.org/TR/2010/REC-rif-rdf-owl-20100622/ Этот подход в чистом виде нельзя отнести ни к однородным, ни к гибридным. Хотя точное определение синтаксиса комбинаций отсутствует, по некоторым примерам видно,что предикаты из RDF/OWL могут быть как в теле так и голове правила. Однако RIF- и RDF/OWL-интерпретации определяются по отдельности и склеиваются по общей части. Неразрешимость основных проблем для комбинаций, используемых при таком подходе без дополнительных ограничений, сохраняется как в гибридном подходе. Типичные сценарии совместного использования RDF/OWL 2 и RIF Типичный сценарий использования RIF совместно с RDF/OWL состоит в обмене правилами, которые используют данные из RD и/или OWL. У одного из партнеров A имеется язык правил, поддерживающий RDF-данные, он использует некоторую RDFS ил OWL онтологию или расширяет RDF(S)/OWL. A посылает свои правила, используя RIF, возможно со ссылкой на соответствующий RDF-граф (или графы), партнеру B. B получает правила и восстанавливает RDF-граф(ы), на которые имеются ссылки. Эти правила транслируются во внутренний язык B и обрабатываются вместе с RDF графами механизмом вывода (rule engine ) B , поддерживающим RDF/OWL Публикация системы правил со ссылками: один ко многим. Передача правил и данных (слайд из [Christian de Saint Marie. W3C rule interchange format, ILOG, 30 October 2008]) Rules Rules serialize de-serial. Data model (OWL, RDF-S, XML-S, XMI, …) Rule system 1 Data <RIF doc> serialize Application A <XML doc> data Rules Rule system 2 de-serial. Data Application B Еще один сценарий Обмен наборами правил, расщиряющих OWL. В этом сценарии публикатор правил намеревается расширить правилами некоторую OWL онтологию. Партнер по обмену A имеет язык правил, расширяющих OWL. A разбивает описание своего набора онтология + правила на отдельные описания OWL онтологии и RIF-документа, публикует OWL онтологию и посылает (или публикует) RIF-документ, содержащий ссылку на эту OWL онтологию. Потребитель правил извлекает OWL онтологию и транслирует ее вместе с документом в совместное описание пары онтология + правила в своем собственном расширении OWL правилами. Синтаксис RIF+RDF/OWL Комбинация: RIF-документ R и RDF-графы u1,… un. R содержит директивы импорта вида import(<ui>,<pi>). Предикаты из ui импортируются в R c использованием так называемого профиля pi, который, грубо говоря, указывает, какой из шести вариантов семантик используется при интерпретации графа ui (не все графы могут интерпретироваться во всех шести вариантах). Профили: Simple, RDF, RDFS, D,OWL Direct, OWL RDF-based. Тройки RDF переходят в RIF как фрейм-формулы Пример: RDF-граф с тройками ex:john ex:brotherOf ex:jack . ex:jack ex:parentOf ex:mary . и RIF-документ с правилом Forall ?x ?y ?z (?x[ex:uncleOf -> ?z] :And(?x[ex:brotherOf -> ?y] ?y[ex:parentOf -> ?z])) RDF-тройка ex:john ex:brotherOf ex:jack отображается в RIF как фрейм-формула ex:john[ex:brotherOf -> ex:jack] (аналогично для parentOf) Отсюда следует RIF-формула ex:john[ex:uncleOf -> ex:mary], которая в RDF становится тройкой ex:john ex:uncleOf ex:mary Пустые вершины Пустые вершины в RDF соответствуют переменным с квантором существования, такую можно унифицировать в теле RIF-правила с некоторой переменной ?x, и если ?x входит в голову, то после применения правила получаем эту переменную с квантором существования Пример: RDF-граф с тройкой _:x ex:hasName "John" . и RIF-документ с правилами Forall ?x ?y ( ?x[rdf:type -> ex:named] :?x[ex:hasName -> ?y] ) Forall ?x ?y ( <http://a>[<http://p> -> ?y] :?x[ex:hasName -> ?y] ) Из первого правила получаем RIF-формулу Exists ?z (?z[rdf:type -> ex:named]) и RDF-тройку _:y rdf:type ex:named . Из второго правила получаем RIF-формулу <http://a>[<http://p> -> "John"] и RDF_тройку <http://a> <http://p> "John" Коллизия с константами Множества констант у RIF и RDF несколько отличаются Например, константе "literal string" из RDF в RIF соответствует "literal string@"^^rdf:PlainLiteral. Поэтому из пустого RIF-документа и графа с RDF-тройкой <http://a> <http://p> "abc" следует RIF-формула <http://a>[<http://p> -> "abc"^^xs:string] (т.е. при обратном переходе тройка <http://a> <http://p> "abc"^^xs:string). Семантика комбинаций (все должно быть согласовано) Семантика определяется в терминах совместных (common) моделей для RIF и RDF/OWL. RDF: Простая интерпретация ( Simple interpretation) словаря V - это набор I=< IR, IP, IEXT, IS, IL, LV >, где IR – непустое множество ресурсов (область интерпретации), IP – множество свойств, IEXT – функция расширения, которая отображает IP в множество подмножеств IR × IR, IS – это отображение из множества IRI из V в объединение IR и IP, IL – это отображение типизированных литералов из V в IR, LV – это множество значений литералов, являющееся подмножеством IR и включающее все простые литералы. RDF-, RDFS- и D-интерпретации –это простые интерпретации, удовлетворяющие дополнительным условиям. RIF-интерпретация(без списков, для упрощения) Семантика RIF-BLD задается через семантическую структуру I, которая представляет собой набор вида <TV, DTS, D, Dind, Dfunc, IC, IV, IF, INF, Iframe, Isub, Iisa, I=, Iexternal, Itruth>. Совместимость комбинации RIF-RDF связана только с компонентами DTS, D, IC, IV, Ilist, Itail, Iframe, Isub, Iisa, и Itruth. Остальные компоненты не используются при определении комбинаций. Пусть Const – множество символов констант и Var – множество символов переменных из RIF. DTS – это множество типов данных, с которыми связаны идентификаторы типов данных, D – это некоторое множество (область), Dind – непустое подмножество D, Dfunc – непустое подмножество D, IC – это отображение из констант в D такое, что константы в позициях индивидов (individual position) отображаются в Dind , а константы в позициях функций отображаются в Dfunc, IV – это отображение из Var в Dind, Iframe – это отображение из Dind в функции вида SetOfFiniteBags(Dind × Dind) → D, Isub – это отображение из Dind × Dind в D, Iisa – это отображение из Dind × Dind в D, and Itruth – это отображение из D в TV. Совместная интерпретация (без списков и импорта других RIF-документов) Пара (Î, I), где Î -- это RIF-интерпретация, I – простая интерпретация словаря V. Для этой пары выполнено 8 условий: 1. (IR union IP) = Dind; Т.е. объединение ресурсов и свойств в точности соответствует области RIF (если I является RDF-, RDFS- или D интерпретацией, то IP входит в IR и IR=Dind. 2. IP содержит все такие k из Dind , для которых существуют a, b из Dind, что Itruth(Iframe(a)(k,b))=t; Множество RDF-свойств по крайней мере содержит все элементы, которые используются как свойства во фреймах области RIF. 3 LV содержит объединение всех пространств значений (value spaces) всех рассматриваемых типов данных (datatypes); Все конкретные значения из Dind входят также и в LV (по определению Dind содержит пространства значений всех рассматриваемых типов данных) 4. IEXT(k) = {(a, b) | a, b и k из Dind и Itruth(Iframeme(a)(k,b))=t}; Т.е. RDF-тройки интерпретируются так же как соответствующие фрейм-формулы. Продолжение 5. IS(i) = IC(<i>) для каждого IRI i из VU; Т.е. все IRI интерпретируются одинаково в RDF и RIF. 6. IL((s, d)) = IC("s"^^d) для каждого правильно типизированного литерала( well-typed literal) (s, d) из VTL; Т.е. все типизированные идентификаторы интерпретируются одинаково. 7. IEXT(IS(rdf:type)) = { (a, b) из Dind × Dind | Itruth(Iisa(a,b))=t}; Типизация в RDF соответствует типизации в RIF, т.е. тройка a rdf:type b истиннаутверждение a # b истинно. 8.EXT(IS(rdfs:subClassOf)) содержит множество всех пар (a, b) из Dind × Dind , для которых Itruth(Isub(a,b))=t; Для всякого истинного в RIF утверждения о подклассах соответствующее утверждение о подклассах из RDF также истинно, т.е., a rdfs:subClassOf b истинно, если a ## b истинно. Выполнимость и модели RIF-RDF комбинация C=< R, S > выполняется на совместной RIF-RDF-интерпретации (Î, I) , если Î является моделью R и каждый RDF-граф S из S выполняется на I. В этом случае (Î, I) называется RIFпростой(Simple)-моделью или просто моделью C, а C является выполнимой (совместной). Обобщенный RDF-граф S выполняется на (Î, I) , если он выполняется на I. Формула условия φ выполняется на (Î, I), если TValÎ(φ)=t. Выполнимость для комбинаций RIF-RDF-, RIF-RDFSи RIF-RIF-D- определяется аналогично, с помощью добавления соответствующих ограничений на I. Логическое (семантическое) следование Определяется обычным образом: Пусть C – это комбинация RIF-RDF, S – обобщенный RDF-граф, φ - формула условия и D – это отображение типов данных, согласованное с множеством рассматриваемых типов данных. C RIFD-влечет (entails) S (или S RIF-D следует из C) , если S выполняется на каждой RIF-D-модели C. Аналогично, C RIF-D-влечет φ, если φ выполняется на каждой RIF-D-модели C Понятия логического следования для комбинацийRIFSimple-, RIF-RDF- и RIF-RDFS- определяются аналогично. RIF-OWL комбинации Синтаксис определяется аналогично RIF+RDF: RIF-документ и несколько импортируемых онтологий. Семантика тоже в целом следует такому же принципу построения общих интерпретаций, но имеются некоторые серьезные различия в рассмотрении RIF+OWL Full и RIF+OWL DL. Причины различия В OWL Full (так же как и в RDF) свойства являются такими же объектами как остальные, поэтому их интерпретация определяется в два шага: IS сопоставляет свойству p некоторый элемент области интерпретации, которому IEXT в свою очередь сопоставляет множество пар. OWL DL Свойства отделены от ресурсов и им дается прямая (в духе логики первого порядка) интерпретация в виде множества пар. Чтобы соотнести смысл фреймовых формул RIF со смыслом OWL DL утверждений, приходится несколько изменить интерпретацию фреймовых формул и ввести для них некоторые синтаксические ограничения на использование переменных в фреймовых формулах, формулах вхождения в класс и формулах подклассов. Cемантика на основе RDF для RIF-OWL Full Строится как простое обобщение семантики для RIF+RDF: такие же совместные интерпретации, но имеются дополнительные ограничения на интерпретацию словаря (Vocabulary). Прямая семантика для RIFOWL DL Модифицируется семантика RIF-формул (фреймовых, вхождения в класс и подклассов). Для этого в RIF-интерпретации I изменяются интерпретации отображений Isub IIca Iframe так, чтобы формулы s[rdf:type->o] и s#o интерпретировались как вхождение s в множество, в которое отображается o, а формулы s[p->o], где p – не rdf:type, как вхождение пары (s,o) в бинарное отношение, в которое отображается p. Совместная прямая интерпретация для RIF+OWL2 DL Это пара (I,J), где I – RIF-интерпретация, модифицированная как сказано выше, а J – интерпретация для ОWL2 DL. Эта пара должна удовлетворять десяти условиям взаимного согласования, которые аналогичны условиям для совместных RIF+RDF-интерпретаций. Понятия модели и следования определяются обычным образом. Конформность RIF-OWL Определяется обычным образом через понятия преобразований RIF+OWL-комбинаций в язык L процессора и обратно, сохраняющих отношение логического следования. (слайд взят из [I.Herman.Semantic Web Adoptions and Applications]