
лекция_2012_12_26_DL_RDF_SPARQL.pptx
- Количество слайдов: 46
Дескриптивные логики, онтологии и технологии Semantic Web Рогальчук В. В. Кафедра «Информационные и вычислительные системы»
Модели представления данных Классические модели данных: p иерархическая, p сетевая, p реляционная. p постреляционная, p многомерная, p объектно-ориентированная.
Модели представления знаний семантические сети; p фреймы; p системы продукций; p нечеткие системы продукций; p логические модели; p онтологии на основе дескриптивной логики. p
Дескриптивная логика p Дескриптивные логики (DL) – семейство логик, предназначенных для моделирования знаний и формального описания терминологий. p синтаксис + формальная семантика
Дескриптивная логика p В дескриптивных логиках используются два вида отношений – унарные (концепты) и бинарные (роли, свойства). p На их основе строятся описания моделей областей знаний - онтологии.
Open World Assumption (OWA) предположение об открытости мира говорит о том, что истинность некоторого знания не зависит от известности наблюдателю (агенту) о его истинности; и наоборот - из факта невозможности совершения вывода из-за недостатка данных нельзя сделать вывод о ложности некоторого утверждения.
Open World Assumption (OWA) ПОМ ограничивает возможность вывода заключений теми, которые следуют из явно известных фактов. В подавляющем большинстве процедурных языков программирования и реляционных баз данных используется предположение о замкнутости мира (CWA, Closed World Assumption), из которого следует ложность любого утверждения, о котором не высказано обратного (напр. , при CWA отсутствие утверждения о продаже билета говорит о том, что билет не был продан).
Unique Name Assumption (UNA) p предположение об уникальности имен (Unique Name Assumption, UNA) говорит о том, что в базе знаний различные имена обязательно ссылаются на разные объекты. p В большинстве диалектов дескриптивных логик это предположение не делается - при отсутствии явного утверждения об обратном, два имени могут рассматриваться как ссылающиеся на один и тот же объект. p Для выражения утверждений о различии или совпадении объектов в языках, основанных на DL, вводятся специальные операторы (напр, в языке OWL это owl: same. As и owl: different. From). p Однако, UNA может приниматься в диалектах без конструктора номиналов (задания класса через его экстенсионал).
Диалекты логик p p EL допускает использование оператора пересечения ⊓ и экзистенциального оператора , а также включает в себя определение концепта ⊤, через который определяются остальные. FL допускает оператор пересечения концептов ⊔, универсальное и экзистенциальное ограничение свойств ( r. C и r. C), а также описание ролей. Наиболее широко используется язык AL и его расширение ALC – «Атрибутивный язык с комлементом» - AL с разрешенным оператором дополнения составных концептов.
Диалект ALC пересечение классов (конъюнкция): С ⊓ D p объединение классов (дизъюнкция): C ⊔ D p дополнение класса (отрицание): С p универсальное ограничение свойства: R. C p экзистенциальное ограничение свойства: R. C Терминологические аксиомы записываются в форме описания вложенности классов (general concept inclusion, GCI): С ⊑ D. p
Диалекты логик Ввиду того, что подавляющее большинство логик строится на основе логики ALC, дополненной транзитивными свойствами, для сокращения записи названий используют вместо последовательности ALC+ символ S. SHOIN(D) – OWL-DL p SROIQ(D) – OWL 2 p
Диалекты логик p p p C – отрицание (комплемент) составных концептов U – объединение концептов I – инверсные роли (R` является обратным по отношению к R, если R`(x, y) эквивалентно R(y, x)) F – функциональные свойства (объявляемые только один раз для каждого объекта) H – иерархия свойств Е – разрешение использовать полноценное экзистенциальное ограничение свойств (с любыми классами, а не только с универсальным классом ⊤) R – рефлексивность, нерефлексивность и дизъюнктивность свойств O – «номиналы» - возможность задания концептов через перечисление его экземпляров (в OWL – one. Of, has. Value) N – ограничение на размер области значений свойств без указания области значений (non-qualified cardinality restrictions, в OWL – cardinality, max. Cardinality) Q – ограничение на размер области значений свойств с указанием области значений (qualified cardinality restrictions). (D) – разрешение на использование примитивных типов данных и атрибутивных свойств (с примитивными типами в качестве области значений).
Онтология p Онтология – раздел в философии, изучающий проблемы бытия. В инженерных науках термин имеет другое значение: p Онтология – формальное описание знаний в некоторой предметной области p
Онтология p Знания – нечто, что позволяет программному агенту вычислить поведение, являющееся рациональным и предсказуемым с точки зрения человека. p Знания «приходят» в вычислительную систему от некоторого эксперта или экспертного сообщества, описывающего свою модель представлений о мире.
Онтология p В информатике под онтологией понимается концептуальная модель предметной области, разделяемая некоторым сообществом. p Онтология содержит иерархию понятий (концептов) предметной области, дополненную иерархией связей между ними и множеством утверждений.
Онтология p Томас Грубер: Онтология – формальная спецификация концептуализации. p «концептуализация» – «абстрактный, упрощенный взгляд на мир, который используется людьми для достижения некоторой цели» p Формальная – чтобы разные вычислительные системы могли оперировать одной и той же моделью. p
Типы «онтологий» Словарь p Классификация – типы, объединенные в иерархию p n n p p p Таксономия – строгое дерево, для типа только один надтип. ООП Тезаурус – терминология с набором семантических отношений между лексическими единицами (синсетами) Свойства на основе фреймов Отношения между классами Ограничения на значения Произвольные логические ограничения
Формальная модель онтологии Формальной моделью онтологии является четверка: O = <L, C, P, R, А> где L – множество лексических символов – имен концептов и отношений, C – множество описаний концептов предметной области; P – множество описаний свойств концептов, R – множество отношений между концептами; А – множество аксиом – утверждений, построенных с использованием описанных концептов и отношений.
Виды онтологий p Онтологии по цели создания разделяют на онтологии верхнего уровня, предметных областей и прикладные. p Онтологии верхнего уровня (upper или top-level ontology) описывают знания, общие для множества предметных областей – сущность, категория, пространство, время, событие, процесс, объект и т. д. – онтологии «здравого смысла» Онтология предметной области строится с целью описания общих концепций для множества принадлежащих одной области задач. Онтология прикладного уровня описывает концептуальную модель конкретной задачи либо информационной системы. p p
Типовые задачи 1. Построение общего словаря Термины словаря используются при описании информационных ресурсов и в общении внутри сообщества. 2. Информационный поиск Онтологии применяются для разметки содержания индексируемых документов (концептуальное индексирование) и указания точного смысла слова в запросе. 3. Интеграция источников данных В онтологии описываются схемы данных нескольких источников данных. Термины общей схемы используются для формулирования запросов к интегрирующей системе, та, в свою очередь, переформулирует запросы в термины хранилищ данных.
Semantic Web
Технологии Semantic Web p RDF (Resource Description Framework) - язык описания представленных в WWW данных p OWL (Web Ontology Language) - язык представления онтологий в Web p SPARQL (SPARQL Protocol and RDF Query Language) - язык запросов к хранилищам RDF -описаний
RDF p p Язык RDF предназначен для описания ресурсов в сети WWW. Под ресурсом понимается всё, что имеет уникальный идентификатор, на который можно сослаться в сети Интернет. Моделью данных в языке RDF является направленный мультиграф, описываемый множеством троек (триплетов или фактов) – высказываний в форме «субъект» - «предикат» «объект» .
RDF-литералы p Субъект и предикат в высказывании всегда идентифицируются при помощи URI. Объектом может выступать ресурс, имеющий URI, так и константное значение – литерал. p Пусть «ИВС» и «является кафедрой в» - два URI ресурсов, тогда на их основе можно построить триплет (рис. 3. 10) «ИВС – является кафедрой в - `ПГУПС`» , где `ПГУПС` - литерал:
RDF синтаксисы @prefix : <http: //starwars. info/>. : luke a : Person. : luke : has. Mother : padme. : luke : has. Father : anakin. : padme : is. Queen : naboo. : luke : homeworld : tatooine.
RDF синтаксисы <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: ns="http: //starwars. info/#"> <ns: Person rdf: about="http: //starwars. info/#luke"> <ns: has. Father rdf: resource="http: //starwars. info/#anakin" /> <ns: has. Mother> <rdf: Description rdf: about="http: //starwars. info/#padme"> <ns: is. Queen rdf: resource="http: //starwars. info/#naboo"/> </rdf: Description> </ns: has. Mother> <ns: homeworld rdf: resource="http: //starwars. info/#tatooine" /> </ns: Person> </rdf: RDF>
RDFS Язык RDFS (RDF Schema) является семантическим расширением RDF, добавляющим возможность описания иерархий классов и свойств. В языке объявлены несколько специальных классов: rdfs: Resource – класс всех ресурсов; rdfs: Class – класс, включающий в себя все ресурсы, являющиеся классами; rdfs: Literal – класс всех литералов; …. .
RDFS В RDFS есть несколько выражений, предназначенных для описания свойств и указания поясняющей информации: rdfs: domain – свойство предназначено для описания домена свойств. Доменом является некоторое множество классов, к которым свойство применимо; rdfs: range – диапазон значений свойств. Диапазон определяет допустимое множество значений свойства – ресурсов или литералов; . . .
OWL p Семейство языков OWL (Web Ontology Language) содержит языки представления онтологий, основанные на дескриптивных логиках. В семействе присутствует несколько диалектов, различающихся по степени выразительности и вычислимости.
OWL диалекты OWL Lite – подмножество языка, реализующее логику SHIN (без номиналов);
OWL диалекты OWL DL – реализация более выразительной дескриптивной логики SHOIN(D) с некоторыми ограничениями (напр. , запрет использования номиналов, запрет объявления класса экземпляром другого класса).
OWL диалекты OWL Full – наиболее выразительный диалект, полностью реализующий дескриптивную логику SHOIN(D). Диалект полностью совместим с RDF любой RDF-документ является корректным OWL Full документом.
SPARQL p Онтологии, записанные на перечисленных языках, могут быть записаны в виде множества RDF-утверждений, для хранения и обработки которых предназначены специализированные СУБД – «хранилища троек» (triple store). p Для взаимодействия с подобными БД используется язык запросов и протокол передачи данных SPARQL. Протокол передачи основан на HTTP, и описывает схему XSD и заголовки запросов и ответов, использующиеся для взаимодействия с точкой доступа хранилища данных. p http: //www. w 3. org/TR/rdf-sparql-query/ http: //www. w 3. org/TR/rdf-sparql-protocol/ p
SPARQL Язык запросов предназначен для обнаружения в RDF-графе подграфов, соответствующих описанным в запросе шаблонам, например, поиск всех имен ресурсов, являющихся столицами стран в Европе: PREFIX pgups: <http: //pgups. ru/онтология#> SELECT ? capital ? country WHERE { ? x pgups: название. Города ? столица ; pgups: столица. Страны ? y pgups: название. Страны ? страна ; pgups: находится. На. Континенте pgups: Европа. }
SPARQL
SPARQL формы запросов p p SELECT – запрос строковых данных в виде таблицы (вместе с запросом точке доступа передается указание, в каком формате выдать таблицу – HTML, XML, Turtle, n 3 итд); CONSTRUCT – запрос, получающий новый сформированный RDF-подграф на основании данных, считанных из хранилища; ASK – запрос, возвращающий истинностное значение – true/false; DESCRIBE – запрос поясняющей информации, описывающей хранимые в базе данные.
SPARQL ask используется ли Российский рубль в качестве валюты хотя бы в трех странах? ASK { { SELECT COUNT(*) as ? x WHERE { ? c a dbpedia-owl: Country; dbpprop: currency. Code ? v. FILTER( regex(? v, "RUB")) } } FILTER(? x >= 3) }
SPARQL select SELECT ? c WHERE { ? c a dbpedia-owl: Country; dbpprop: currency. Code ? v. FILTER( regex(? v, "RUB")) }
SPARQL select SELECT ? p ? o WHERE { <http: //dbpedia. org/resource/Russia> ? p ? o. }
На сегодня - ВСЁ Вячеслав Рогальчук 26. 12. 2012 Спасибо за внимание!
лекция_2012_12_26_DL_RDF_SPARQL.pptx