Языки запросов для OWL Фазлиев А.З. (ИОА СО РАН) Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения »,

Презентация:



Advertisements
Похожие презентации
XML-ТЕХНОЛОГИИ Лекция 5 Семантический Веб: микроформаты RDF, OWL и FOAF.
Advertisements

3.2. Назначение онтологий. Интеграция разнородных источников данных. SemanticWeb. Интеграция разнородных источников данных Онтологии как часть Semantic.
Практические применения семантических вычислений. Поиск по графу, контролируемый естественный язык Сергей Горшков, «Бизнес Семантика»
1 Концепция Web 3.0 Web как семантическая паутина : традиционные информационные ресурсы + метаданные, описывающие семантические связи в информационных.
От сложного – к простому. От непонятного – к понятному.
Базы данных Лекция 4 Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
Базы данных Язык запросов SQL. Команда SELECT. Команда SELECT – выборка данных Общий синтаксис: SELECT [{ ALL | DISTINCT }] { список_вывода | * } FROM.
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
Модуль 1. Математические основы баз данных и знаний.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
Теория экономических информационных систем Семантические модели данных.
Язык QBE Язык QBE -общая характеристика Табличный двумерный язык, основанный на реляционном исчислении. Декларативный язык. Язык четвертого поколения (4.
Содержание: 1. Управление данными. а) Извлечение данных команда SELECT; б) Полный список разделов. 2. Раздел SELECT. а) Синтаксис раздела SELECT; б) Ключевые.
Реляционное исчисление. Общая характеристика Запрос – формула некоторой формально-логической теории; описывает свойства желаемого результата. Ответ –
Базы данных Лекция 6 Базисные средства манипулирования реляционными данными: реляционное исчисление.
Введение в формальные (аксиоматические) системы. Формальные системы - это системы операций над объектами, понимаемыми как последовательность символов.
Архитектура метаданных WWW. Язык RDF Архитектура метаданных WWW RDF.
Реляционная база данных электронной библиотеки в Semantic Web. Представление метаданных в виде связанных данных Новицкий А.В. Институт программных систем.
WEB- ТЕХНОЛОГИИ Лекция 4. Задача преобразования XML- данных 1 Задача преобразования Для передачи данных между разными приложениями необходимо преобразовать.
Транксрипт:

Языки запросов для OWL Фазлиев А.З. (ИОА СО РАН) Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Содержание Эволюция языков запросов в подходе Semantic Web Запросы над RDF. SPARQL. Анализ примеров применения. Правила и OWL. RuleML SWRL. Анализ примеров применения. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Peter Haase, Jeen Broekstra, Andreas Eberhart and Raphael Volz, A Comparison of RDF Query Languages, THE SEMANTIC WEB – ISWC 2004 Lecture Notes in Computer Science, 2004, Volume 3298/2004, , DOI: / _35 «Мы считаем, что определение подходящего языка запросов RDF должно являться основным приоритетом в стандартизации. Запросы являются базавой функциональностью необходимой для почти всех приложений, связанных с подходом Semantic Web. …., стандартизация определенно поможет становлению RDF заросов как инструментария, облегчит создание приложений и тем самым в целом будет способствовать развитию Semantic Web.» Поддержка RDF модели данных Рассматриваемая модель данных прямым образом влияет на набор операций связанный с языком запросов. Следовательно необходимо выделить основные концепты RDF и отметить их влияние на требования к языку запросов RDF. Абстрактная модель данных RDF Структура любого RDF документа представляет собой коллекцию триад. Эта коллекция называется RDF графом. Каждая триада содержит отношение (свойство) между двумя узлами (ресурсами) в графе. Такая абстрактная модель данных не зависит от конкретного синтаксиса сериализации. Формальная семантика и вывод RDF имеет формальную семантику, обеспечивающую зависимый базис для рассуждения о смысле RDF графа. Такое рассуждение обычно называют следованием. Правила следования (entailment rules) устанавливают каким образом неявная информация может быть получена из явной. Таким образом, RDF языки запросов можно рассматривать как такое следование, позволяющее обеспечить различие явных и неявных данных. Поддержка типов данных в XML схеме XML типы данных можно использовать для представления значений в RDF. XML схема обеспечивает расширенные рамки для определения новых типов данных в RDF. Свободная поддержка утверждений о ресурсах В общем случае не предполагается, что полная информация о ресурсе может быть получена с помощью RDF запроса. Язык запросов должен допускать неполноту или противоречивость информации.

Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Peter Haase, Jeen Broekstra, Andreas Eberhart and Raphael Volz, A Comparison of RDF Query Languages, THE SEMANTIC WEB – ISWC 2004 Lecture Notes in Computer Science, 2004, Volume 3298/2004, , DOI: / _35 Свойства языка запросов - Выразительность Выразительность показывает насколько мощным может быть запрос в данном языке. Типичным является то, что язык должен обеспечивать средства предлагаемые реляционной алгеброй. Обычно выразительность ограничивает реализацию других свойств, таких как безопасность и эффективное выполнение запросов. - Замыкание Свойство замыкания требует чтобы результаты операции были элементами модели данных. Это означает, что если язык запросов оперирует с графами, то ответы на запросы должен быть графами. -Адекватность Язык запросов называется адекватным если он использует все концепты, относящиеся к модели данных. Это свойство дополняет свойство замыкания. Для замыкания результат запроса не должен быть за пределами модели данных, а для адекватности – необходимо использовать все концепты модели данных. - Ортогональность Ортогональность языка запросов требует, чтобы все операции можно было использовать независимо от контекста использования. - Безопасность Язык запросов считается безопасным, если каждый синтаксически корректный запрос возвращает конечное множество результатов (на конечном множестве данных). Типичными концептами наоушающими безопасность являются рекурсия, отрицание и встроенные функции.

Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Peter Haase, Jeen Broekstra, Andreas Eberhart and Raphael Volz, A Comparison of RDF Query Languages, THE SEMANTIC WEB – ISWC 2004 Lecture Notes in Computer Science, 2004, Volume 3298/2004, , DOI: / _35 Перечень пожеланий Некоторые важные черты не поддеживаются в языках RQL, SeRQL, TRIPLE, RDQL, N3, Versa или поддерживаются недостаточно полно. Группировка и агрегация Большинство вариантов языков поддерживают малую функциональность группи ровки и агрегации. Такие функции как min, max, average и count обеспечивают важный инструментарий для анализа данных. Сортировка Удивительно, но за исключением Versa, ни один из языков не поддерживает сортировку и упорядочение в ответе на запрос. Адекватность Поддержка во всех языках специфических черт RDF, таких как контейнеры, коллекции, типы данных XML Schema и описание структуры высказывания очень слабая. Т.к. эти черты характеризуют модель данных, степень адекватности этих языков низкая.

Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Peter Haase, Jeen Broekstra, Andreas Eberhart and Raphael Volz, A Comparison of RDF Query Languages, THE SEMANTIC WEB – ISWC 2004 Lecture Notes in Computer Science, 2004, Volume 3298/2004, , DOI: / _35 RQL, SeRQL, TRIPLE, RDQL, N3, Versa Ключевое различие в поддержке семантики RDF схемы. Такие языки как N3 и Triple не делают различия между запросом и правилом. Т.о. логическая программа, представляющая желаемую семантику RDF-S может дополнять запрос. SeRQL и RQL поддерживают RDF-S семантику. В Versa прагматически поддерживают транзитивное замыкание с помощью специального оператора. Хотя это не гибко, но решается большинство проблем. RDQL игнорирует RDF-S семантику. Ортогональность желательная черта т.к. она позволяет объединять множества простых операторов в сложные конструкции. Только RQL, SeRQL, N3, и Versa поддержиают это свойство. Versa использует множество ресурсов в качестве базовой структуры данных, тогда как RQL, N3 и SeRQL работают с графами. Triple имитирует ортогональность через правила, а RDQL не поддерживает ее. Читаемость и используемость языков. Синтаксически, RQL, RDQL и SeRQL подобны своим предкам SQL. Triple и N3 связаны с правилами.

Два Semantic Web? Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила Правила основаны на подмножестве логики первого порядка + возможных расширения Формализм базовых правил (в Semantic Web): Semantic Web Rule Language (SWRL) Answer Set Programming (ASP) (Datalog ¬ ) Выводы Правила Ограничения целостности Реакции Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Почему нам нужны онтологии и правила? Онтологии основаны на дескриптивных логиках (и являются частью классической логики). Web открытая среда. Многократное использование / интероперабельность. Онтология является моделью которую легко понять. Правила являются частью логического программирования. Ради достижения разрешимости языки онтологий не позволяют достигнуть необходимой выразительности (например, конструирование составных свойств). С помощью правил достигается большая выразительность. Существует эффективная поддержка логического вывода. Правила хорошо известны в практике. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила + Онтологии Все ещё не решенная задача! Существуют разные подходы: SWRL, DLP (Grosof), dl-programs (Eiter), DL-safe rules, Conceptual Logic Programs (CLP), AL-Log, DL+log. 2 главные стратегии: Семантическая интеграция (Однородные подходы) Строгое семантическое разделение (Гибридные подходы) Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Однородный подход RDFS ОнтологииПравила Как онтологии так и правила содержатся в логическом языке. Нет различия между предикатами правил и предикатами онтологий. Правила можно использовать для определения классов и свойств онтологии. Примеры: SWRL, DLP Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Гибридный подход RDFS OntologiesRules Интеграция со строгим семантическим разделениеммежду двумя слоями. Онтология используется как концептуализация предметной области. Правила не могут определять классы и свойства онтологии за исключением некоторых специальных отношений. Пример: Answer Set Programming (ASP) ? Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Запросы над RDF. SPARQL Поиск RDF данных Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года RDF граф может содержать значительное число утверждений, но как можно найти и манипулировать данными находящимися в графе и представляющими для пользователей? SPARQL

Что такое запрос? Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Запрос - это вопрос. Ответ на него требует понимания : RDF граф Запрос Запрашиваемая вещь Отношение между ними SPARQL

Общая структура оператора выборки в языке SQL SELECT [ ALL | DISTINCT ] select_item_commalist FROM table_reference_commalist [ WHERE conditional_expression ] [ GROUP BY column_name_commalist ] [ HAVING conditional_expression ] [ ORDER BY order_item_commalist ] select_item ::= value_expression [ [ AS ] column_name ] | [ correlation_name. ] order_item ::= value_expression [ collate_clause ] [ { ASC | DESC } ] table_reference ::= table_primary | joined_table Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

SelectQuery::='SELECT' ( 'DISTINCT' | 'REDUCED' )? (Var+ | '*' ) 'FROM' ( DefaultGraphClause | NamedGraphClause )* 'WHERE'? GroupGraphPattern ('ORDER' 'BY' OrderCondition+)? LimitOffsetClauses? Форма SELECT возвращает переменные и их привязки непосредственно. ConstructQuery ::= 'CONSTRUCT' ConstructTemplate 'FROM' ( DefaultGraphClause | NamedGraphClause )* 'WHERE'? GroupGraphPattern ('ORDER' 'BY' OrderCondition+)? LimitOffsetClauses? Форма запроса CONSTRUCT возвращает один RDF-граф, определенный графовым шаблоном. В результате получается RDF-граф, сформированный путем взятия каждого решения запроса в последовательности решений, замены на переменные в графовом шаблоне и объединения триплетов в единый RDF-граф посредством объединения множества. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Типы запросов

DescribeQuery ::= 'DESCRIBE' ( VarOrIRIref+ | '*' ) 'FROM' ( DefaultGraphClause | NamedGraphClause )* 'WHERE'? GroupGraphPattern ('ORDER' 'BY' OrderCondition+)? LimitOffsetClauses? Форма DESCRIBE возвращает единственный результирующий RDF-граф, который содержит RDF-данные о ресурсах. Эти данные не предписаны запросом SPARQL, где клиенту запроса необходимо знать структуру RDF в источнике данных. Однако вместо этого данные определены обработчиком SPARQL-запроса. Шаблон запроса используется для создания результирующего набора. Форма DESCRIBE берет каждый из ресурсов, установленных в решении, вместе с любыми ресурсами, непосредственно названных по IRI, и формирует единый RDF-граф, взяв описание (description), которое может поступить из любой доступной информации, в том числе и из целевого набора данных RDF. Описание определяется сервисом запросов. AskQuery ::='ASK' 'FROM' ( DefaultGraphClause | NamedGraphClause )* 'WHERE'? GroupGraphPattern Приложения могут использовать форму ASK для тестирования, имеет ли шаблон запроса решение. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Типы запросов

DatasetClause ::= 'FROM' ( DefaultGraphClause | NamedGraphClause ) DefaultGraphClause ::= SourceSelector NamedGraphClause ::= 'NAMED' SourceSelector SourceSelector ::= IRIref WhereClause ::= 'WHERE' ? GroupGraphPattern GroupGraphPattern ::= '{' TriplesBlock? ( ( GraphPatternNotTriples | Filter ) '.' ? TriplesBlock? )* '}' TriplesBlock ::= TriplesSameSubject ( '.' TriplesBlock? )? TriplesSameSubject ::= VarOrTerm PropertyListNotEmpty | TriplesNode PropertyList VarOrTerm ::= Var | GraphTerm GraphTerm ::= IRIref | RDFLiteral | NumericLiteral | BooleanLiteral | BlankNode | NIL PropertyListNotEmpty ::= Verb ObjectList ( ';' ( Verb ObjectList )? )* Verb ::= VarOrIRIref | 'a' VarOrIRIref ::= Var | IRIref ObjectList ::= Object ( ',' Object )* Object ::= GraphNode GraphPatternNotTriples ::= OptionalGraphPattern | GroupOrUnionGraphPattern | GraphGraphPattern OptionalGraphPattern ::= 'OPTIONAL' GroupGraphPattern GraphGraphPattern ::= 'GRAPH' VarOrIRIref GroupGraphPattern SolutionModifier ::= OrderClause? LimitOffsetClauses? OrderClause ::= 'ORDER' 'BY' OrderCondition+ OrderCondition ::= ( ( 'ASC' | 'DESC' ) BrackettedExpression ) | ( Constraint | Var ) LimitOffsetClauses ::= ( LimitClause OffsetClause? | OffsetClause LimitClause? ) LimitClause ::= 'LIMIT' INTEGER OffsetClause ::= 'OFFSET' INTEGER Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Данные: "SPARQL Tutorial". Запрос: SELECT ?title WHERE { ?title. } Этот запрос, выполненный над вышеприведенными данными, имеет единственное решение: Результат запроса: "SPARQL Tutorial" Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Примеры. CONSTRUCT. Написание простого запроса

foaf:. _:a foaf:name "Johnny Lee Outlaw". _:a foaf:mbox. _:b foaf:name "Peter Goodguy". _:b foaf:mbox. _:c foaf:mbox. Запрос: PREFIX foaf: SELECT ?name ?mbox WHERE { ?x foaf:name ?name. ?x foaf:mbox ?mbox } Результат запроса: namembox "Johnny Lee Outlaw" "Peter Goodguy" Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Примеры. CONSTRUCT. Множественные соответствия

В SPARQL есть несколько форм запросов. Форма запроса SELECT возвращает привязки переменных. Форма запроса CONSTRUCT возвращает RDF-граф. Граф строится на базе шаблона, который применяется для генерации RDF-триплетов на основе результатов соответствия графовому шаблону запроса. org:. _:a org:employeeName "Alice". _:a org:employeeId _:b org:employeeName "Bob". _:b org:employeeId Запрос: PREFIX foaf: PREFIX org: CONSTRUCT { ?x foaf:name ?name } WHERE { ?x org:employeeName ?name } org:. _:x foaf:name "Alice". _:y foaf:name "Bob". которые могут быть сериализованы в RDF/XML следующим образом: Alice Bob Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Примеры. CONSTRUCT. Построение RDF-графов

ns:. :book1 dc:title "SPARQL Tutorial". :book1 ns:price 42. :book2 dc:title "The Semantic Web". :book2 ns:price 23. Ограничение строковых значений Функции SPARQL-фильтров, например, regex, позволяют тестировать RDF- литералы. Функция regex соответствует только простым (plain) литералам без тега языка.regex Запрос: PREFIX dc: SELECT ?title WHERE { ?x dc:title ?title FILTER regex(?title, "^SPARQL") } Результат запроса: title"SPARQL Tutorial" title "SPARQL Tutorial" Ограничение числовых значений Фильтры SPARQL могут накладывать ограничения на арифметические выражения. Запрос: PREFIX dc: PREFIX ns: SELECT ?title ?price WHERE { ?x ns:price ?price. FILTER (?price < 30.5) ?x dc:title ?title. } Результат запроса: Title price The Semantic Web 23 Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Примеры. CONSTRUCT. Ограничения RDF-термина

Шаблон может создать RDF-граф, содержащий безымянные вершины. Область действия меток безымянных вершин распространяется в пределах шаблона для каждого решения. Если одна и та же метка фигурирует в шаблоне дважды, тогда для каждого решения запроса будет создана одна безымянная вершина, однако разные решения запроса сгенерируют разные безымянные вершины для триплетов. foaf:. _:a foaf:givenname "Alice". _:a foaf:family_name "Hacker". _:b foaf:firstname "Bob". _:b foaf:surname "Hacker". PREFIX foaf: PREFIX vcard: Запрос: CONSTRUCT { ?x vcard:N _:v. _:v vcard:givenName ?gname. _:v vcard:familyName ?fname } WHERE { { ?x foaf:firstname ?gname } UNION { ?x foaf:givenname ?gname }. { ?x foaf:surname ?fname } UNION { ?x foaf:family_name ?fname }. } создает свойства vcard в соответствии с информацией FOAF: vcard:. _:v1 vcard:N _:x. _:x vcard:givenName "Alice". _:x vcard:familyName "Hacker". _:v2 vcard:N _:z. _:z vcard:givenName "Bob". _:z vcard:familyName "Hacker". Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Примеры. CONSTRUCT. SPARQL. Примеры. CONSTRUCT. Шаблоны с безымянными вершинами

site:. _:a foaf:name "Alice". _:a site:hits _:b foaf:name "Bob". _:b site:hits 105. _:c foaf:name "Eve". _:c site:hits 181. PREFIX foaf: PREFIX site: Запрос: CONSTRUCT { [] foaf:name ?name } WHERE { [] foaf:name ?name ; site:hits ?hits. } ORDER BY desc(?hits) LIMIT 2 foaf:. _:x foaf:name "Alice". _:y foaf:name "Eve". Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Примеры. Влияние Solution Modifiers на CONSTRUCT

Приложения могут использовать форму ASK для тестирования, имеет ли шаблон запроса решение. Никакая информация о возможных решениях запроса не возвращается, просто выполняется проверка наличия foaf:. _:a foaf:name "Alice". _:a foaf:homepage. _:b foaf:name "Bob". _:b foaf:mbox. PREFIX foaf: ASK { ?x foaf:name "Alice" } Yes PREFIX foaf: ASK { ?x foaf:name "Alice" ; foaf:mbox } no Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года SPARQL. Примеры. ASK

Правила и OWL. RuleML SWRL. Слоёный пирог Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Слой правил Слой онтологий OWL-DL SWRL Концептуализация предметной области Выразительность Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Пример Цена всех покупок есть сумма цен каждой покупки Такой вывод в OWL не поддерживается 100 р. Корзина Покупка1Покупка2Покупка3 230 р. 350 р. 680 р. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Правила. SWRL SWRL сочетает OWL(Lite\DL) и RuleML Пример hasPrice(?x1,?p1) & hasPrice(?x2,?p2) & lessThan(?p1,p2) => isCheaper(?x1,?x2) Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Перекрывание классической логики и логических программ (1) (7) (6)(5) (4) (3) (2) FOL: (Все за исключением (6)),(2)+(3)+(4): DLs (4): Description Logic Programs (DLP),(3): Classical Negation (4)+(5): Horn Logic Programs,(4)+(5)+(6): LP (6): Non-monotonic features (like NAF, etc.)(7): ^head and, body Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Правила. Эволюция Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Правила. Разрешимость Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Предистория. Правила. Предистория. Datalog Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Правила. Пример правила в SWRL hasPrice(?x1,?p1) & hasPrice(?x2,?p2) & lessThan(?p1,p2) => isCheaper(?x1,?x2) В абстрактном синтаксисе это правило можно записать в виде: Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Правила. Пример правила в RDF Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Правила. Архитектура Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила. Модифицированная Правила. Модифицированная архитектура Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Хранилище отнологий SPARQL SWRL Машина вывода Интерфейс пользователя Изменение онтологий SPARQL запросы OWL T-box, A-box SPARQL правила

SWRL Расширение аксиом OWL добавлением формул Хорна Максимальная совместимость с OWL Встроенный в OWL (такая же семантика) Общая формула: a 1 … a n b 1... b k Ограничения Отрицание, логическое сложение (или) Неразрешимость Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Пример правила в RuleML Отношение может быть n-арным (n= 0, 1, 2, : : : ) в RuleML. Пример: Покупатель обладает правом скидки, если он в предыдущий год потратил рублей. head (унарное отношение): Покупатель обладает правом скидки. body (триарное отношение): он заплатил... Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила с многими атомами в Antecedent Скидка для покупателя продукта равна 5% если покупатель привелегированный, продукт сезонный. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

axiom ::= rule rule ::= 'Implies(' [ URIreference ] { annotation } antecedent consequent ')' antecedent ::= 'Antecedent(' { atom } ')' consequent ::= 'Consequent(' { atom } ') atom ::= description '(' i-object ')' | dataRange '(' d-object ')' | individualvaluedPropertyID '(' i-object i-object ')' | datavaluedPropertyID '(' i-object d-object ')' | sameAs '(' i-object i-object ')' | differentFrom '(' i-object i-object ')' | builtIn '(' builtinID { d-object } ')' builtinID ::= URIreference i-object ::= i-variable | individualID d-object ::= d-variable | dataLiteral Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Абстрактный синтаксис

Выражение правил без использования SWRL Некоторые правила можно выражать используя только DL: т.е. правила в этих случаях являются «синтактическим сахаром» Предыдущее SWRLs правило: FastComputer(?c) Computer(?c) ^ hasCPU(?c; ?cpu)^hasSpeed(?cpu; ?sp) ^ HighSpeed(?sp) Это правило используя только DL может быть выражено в виде: Computer hasCPU. hasSpeed:HighSpeed FastComputer Перевод правил из SWRL в DL зависит от числа переменных в разделяемых переменных между consequent и antecedent Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Правила в SWRL, но не в дескриптивной логике Некоторые нетривиальные правила можно переводить из SWRL в DL, но в SWRL можно использовать правила которые нельзя сформулировать в дескриптивной логике Пример: hasUncle(?nephew; ?uncle) hasParent(?nephew; ?parent) ^ hasBrother(?parent; ?uncle) Такое правило нельзя перевести в дескриптивную логику: две разных переменных в consequent Хотя нельзя сделать вывод о том, что hasUncle(Bob; Bill) следует из свойств hasParent(Bob; Mary) и hasBrother(Mary; Bill), отношение hasUncle можно использовать явно или неявно. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года

Пример Правило (Антецедент Р(х,у)&Q(y,z), Консиквент R(х,z)) Примером правил является случай когда из пары свойств hasParent и hasBrother следует свойство hasUncle. Неформально можно записать: hasParent(?x1,?x2) hasBrother(?x2,?x3) hasUncle(?x1,?x3) В абстрактном синтаксисе: Implies(Antecedent(hasParent(I-variable(x1) I-variable(x2)) hasBrother(I-variable(x2) I-variable(x3))) Consequent(hasUncle(I-variable(x1) I-variable(x3)))) Из этого правила следует, что если у матери Вани с именем Маша есть брат Коля, то у Вани есть дядя Коля. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Анализ примеров. Примеры правил

Пример Правило (Антецедент С(х), Консиквент С(х)) Из более простого правила следует, что Студенты являются Персонами, как в Student(?x1) Person(?x1). Implies(Antecedent(Student(I-variable(x1))) Consequent(Person(I-variable(x1)))) Такое использование правил дублирует возможности свойства subclassOf. Логично было бы описать так Class(Student partial Person) or SubClassOf(Student Person) что дает возможность для автоматического вывода в OWL. Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Анализ примеров. Примеры правил

Пример Общим использованием для правил является перенесение значений свойстваот одного индивида к другому, связанному с ним. Пример выражает факт того, что стиль объекта искусства является стилем присущим его создателю. Artist(?x) & artistStyle(?x,?y) & Style(?y) & creator(?z,?x) style/period(?z,?y) Implies(Antecedent(Artist(I-variable(x)) artistStyle(I-variable(x) I-variable(y)) Style(I-variable(y)) creator(I-variable(z) I-variable(x))) Consequent(style/period(I-variable(z) I-variable(y)))) Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Анализ примеров. Примеры правил

Пример Полезно включать OWL описания в правила, вместо использования поименованных классов. Предыдущее правило можно уточнить в части указании уникальности стиля. Artist(?x) & (1 artistStyle)(?x) & creator(?z,?x) (1 style/period)(?z) Implies(Antecedent(Artist(I-variable(x)) (restriction(artistStyle maxCardinality(1)))(I-variable(x)) Style(I-variable(y)) creator(I-variable(z) I-variable(x))) Consequent((restriction(style/period maxCardinality(1)))(I- variable(z)))) Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Анализ примеров. Примеры правил

Запись примера в RDF/XML синтаксисе:5.1-2 Пример Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Анализ примеров. RDF синтаксис

This example is a repetition of Example using RDF/XML syntax:Example Пример Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года Анализ примеров. RDF синтаксис

Вопросы ? Второй симпозиум « Онтологическое моделирование : состояние, направления исследований и применения », Казань, октября 2010 года