Содержание
-
Языки представления онтологий: RDFS, OWL. Язык запросов SPARQL
RDFS OWL Запросы к RDF/OWL: SPARQL.
-
RDFS
RDFS – язык описания словарей для RDF. RDF Schema определяет классы, свойства и другие ресурсы. RDFS является семантическим расширением RDF.
-
Система классов и свойств языка RDFS
класс свойство -домен -диапазон сравнение с системой классов ООП.
-
Определим свойство «автор» с доменом «Документ» и диапазоном «Человек». Пример (начало) Автор Документ Человек
-
a-la RDF (дескриптивная логика): Класс («Документ»); Класс («Человек»); Свойство («автор», «Документ», «Человек»). В случае появления дополнительной информации о свойствах «Документа», нет необходимости изменять описание класса «Документ». Достаточно добавить новое свойство с соответствующим доменом. Пример (окончание) a-la Java: Класс «Документ» { «Человек» «автор» }
-
Классы (1)
Ресурсы могут объединяться в группы называемые классами. Члены класса называются экземплярами класса. Экземпляры и классы являются ресурсами RDF. Свойство rdf:type используется для того, чтобы указать, что ресурс является экземпляром класса
-
Классы (2)
RDF отделяет класс от множества его экземпляров (т.н. экстенсионала). Два класса с одинаковыми экстенсионалами считаются различными, если они имеют разные наборы свойств (интенсионалы).
-
Пример (интенсионал и экстенсионал)
Рассмотрим множества A = {0, 2, 4, 6, 8}, B = {x, | x = 2k, k = 0..4, k - целое}, C – множество неотрицательных четных чисел меньших 10. В этом примере множество А описывается своим экстенсионалом, множества В и С описываются интенсионалами, т.е. используя характеристические свойства данного множества. Парадокс Рассела. Примечательно, что RDF нарушает одну из основных аксиом теории множеств: классу RDF не запрещено быть экземпляром самого себя.
-
Классы (3)
Группа ресурсов, являющихся классами в RDFS описывается термином rdfs:Class Отношение «подкласс-надкласс», описывается RDFS свойством rdfs:subClassOf. Любой класс по определению является подклассом самого себя. В спецификации по RDFS определены также списки, коллекции и контейнеры ресурсов, текстовые пометки и комментарии для создания удобных для чтения примечаний к ресурсам.
-
Переченьклассов RDFS
-
Перечень свойств RDFS
-
Реификацияили материализация утверждений
К реификации прибегают, когда необходимо сделать утверждение об утверждении RDF Для этого используется специальный класс rdf:Statementи егосвойстваrdf:subject, rdf:predicate,rdf:object. Каждое RDF утверждение является экземпляром класса rdf:Statement
-
Пример (начало)
Утверждение об авторстве исходного утверждения: Утверждение 1: «товар Т имеет цену х». Допустим, что оно сделано Ивановым Иваном Ивановичем на языке RDF. Требуется высказать утверждение 2 о том, что именно Иванов И.И. сделал утверждение 1.
-
Пример (продолжение)
Товар Т rdf:Property имеет цену Цена х rdf:Statement Утверждение 1 * rdf:subject Т * rdf:predicate имеет цену* rdf:object х * rdf:Statement Утверждение 1 + rdf:Property сделано автором + Человек Иванов Иван Иванович + Важный момент: Косвенные утверждения.
-
Пример (окончание)
имеет цену Т Х Утверждение 1 Иванов Иван Иванович сделано автором rdf:subject rdf:predicate rdf:object rdf:Statement Цена Товар rdf:type rdf:type rdf:type Человек rdf:type
-
Возможности RDF, RDF Schema
обобщенный способ работы с метаданными ориентирован на программное обеспечение в качестве конечного потребителя информации позволяет осуществлять автоматическую обработку Web-ресурсов - поиск - каталогизацию - генерацию иерархических карт сайтов
-
Ограничения языка RDF, RDF Schema
Открытость и расширяемость RDF ведет к тому, что «кто угодно (т.е. любой пользователь RDF) может сказать что угодно (т.е. фиксировать произвольное утверждение) о чем угодно (т.е. о любом ресурсе Сети)» используя RDF. RDF не запрещает делать бессмысленных утверждений или утверждений не согласующихся с другими. Следовательно, нет никакой гарантии целостности и непротиворечивости RDF-описаний. Вся ответственность за проверку целостности ложится на получателей (конечных пользователей) метаданных, т.е. на разработчиков приложений обрабатывающих RDF.
-
Способы представления RDF-описаний (1)
XML синтаксис August 16, 1999 en
-
Способы представления RDF-описаний (2)
N3 (N-Triples) синтаксис (удобный для чтения человеком, но еще и расширяющий исходную модель RDF) exstaff:85740 . "August 16, 1999" . "en" .
-
Краткие итоги (RDF)
RDF – язык описания метаданных в Сети Модель данных RDF – ориентированный граф RDF граф строится на основе элементарных высказываний (триплетов) Форма высказываний – бинарное отношение (S,P,O) RDF чрезвычайно выразителен (кто угодно может сказать что угодно о чем угодно) RDFS служит для определения словарей RDF.
-
OWL
OWL (Web Ontology Language) – язык представления онтологий в Web. Фактически это словарь расширяющий набор терминов определенных RDFS. OWL-онтологии могут содержать описания классов, свойств и их экземпляров.
-
Исторические предшественники OWL
DAML, OIL, SHOE, XOL OWL является рекомендацией W3C и объединяет лучшие черты своих предшественников
-
Три диалекта OWL
OWL Lite (простота) OWL DL (полнота и разрешимость) OWL Full (выразительная мощь) Каждый из этих диалектов (кроме Lite) является расширением предыдущего. Как следствие: Любая OWL Lite онтология является OWL DL онтологией, а любая OWL DL онтология является OWL Full онтологией.
-
Структура OWL онтологии
Заголовок версия примечания импортируемые онтологии Тело описания классов, свойств и индивидов в форме аксиом
-
OWL. Базовые элементы. Классы(1)
Различия в смысле owl:Class для диалекта Full и DL Специальные классы Thing Nothing
-
OWL. Базовые элементы. Классы(2)
6 способов определения класса 1. идентификатором класса (URI) 2. перечислением всех экземпляров класса 3. ограничением свойства 4. пересечением 2 и более определений классов 5. объединением 2 и более определений классов 6. дополнением определения класса
-
OWL. Базовые элементы. Классы(3)
Простейшая аксиома, определяющая именованный класс: Все что постулирует эта аксиома – существование класса с именем “Human”. Конструкции OWL для определения сложных аксиом классов: rdfs:subClassOf- говорит о том, что экстенсионал одного класса (подкласс) полностью входит в экстенсионал другого (надкласс). owl:equivalentClass - говорит о том, что экстенсионалы двух классов совпадают. owl:disjointWith - говорит о том, что экстенсионалы двух классов не пересекаются.
-
OWL. Базовые элементы. Свойства(1)
Две основные категории OWL свойств: объектные свойства (owl:ObjectProperty) связывают между собой индивиды свойства-значения (owl:DatatypeProperty) связывают индивиды со значениями данных Оба класса свойств являются подклассами класса rdf:Property Простейший пример аксиомы свойства: Всё что постулирует эта аксиома – существование некоторого свойства "hasParent" связывающего экземпляры owl:Thing друг с другом.
-
OWL. Базовые элементы. Свойства(2)
Конструкции для построения аксиом свойств (начало): Конструкции RDF Schema: rdfs:subPropertyOf (определяет подсвойство данного свойства), rdfs:domain (определяет домен) и rdfs:range (определяет диапазон) Отношения между свойствами: owl:equivalentProperty (определяет эквивалентное свойство) и owl:inverseOf (определяет обратное свойство)
-
OWL. Базовые элементы. Свойства(3)
Конструкции для построения аксиом свойств (окончание) Ограничения глобальной кардинальности:owl:FunctionalProperty (определяет однозначное свойство – однозначное отображение домена свойства на диапазон) и owl:InverseFunctionalProperty (взаимоднозначное отображение домена свойства на его диапазон, т.е. определяет существование однозначного свойства обратного данному свойству) Логические характеристики свойства:owl:SymmetricProperty (определяет свойство как симметричное данному) и owl:TransitiveProperty (определяет транзитивное свойство)
-
OWL. Базовые элементы. Индивиды(1)
Индивиды определяются при помощи аксиом индивидов (фактов) 2 вида фактов: (1) Факты о членстве индивидов в классах и о значении свойств индивидов. (2) Факты об идентичности индивидов
-
OWL. Базовые элементы. Индивиды(2)
Пример аксиомы первого вида: Балет> Данная аксиома постулирует сразу 2 факта: (а) существует некоторый индивид класса “Балет” имеющий имя “ЛебединоеОзеро”; (б) этот индивид связан свойством “имеетКомпозитора” с индивидом: “Чайковский” (определенным где-то в другом месте). Первый факт говорит о членстве в классе, второй – о значении свойства индивида.
-
OWL. Базовые элементы. Индивиды(3)
Для описания фактов об идентичности индивидов используются аксиомы идентичности Вспомогательные конструкции OWL: owl:sameAs постулирует, что две ссылки URI ссылаются на один и тот же индивид. owl:differentFrom постулирует, что две ссылки URI ссылаются на разные индивиды. owl:AllDifferentпредоставляет средство для определения списка попарно различных индивидов.
-
OWL. Базовые элементы. Пример.
-
Языки запросов к RDF хранилищам. Логический вывод над RDF-графами и онтологиями
Представление знаний в машинопонятном формате не имело бы никакого смысла, если бы к этим знаниям нельзя было обращаться, автоматически их обрабатывать и пополнять. Имеются две близкие задачи: Первая задача связана с извлечением имеющихся в хранилище знаний – запросами к хранилищу (asking, querying). Вторая задача связана с применением логического вывода над имеющимися знаниями (reasoning, entailment).
-
SPARQL
Синтаксис запроса (упрощенный) SELECT FROM WHERE { . FILTER } v_list – список имен переменных onologyURI – ссылка на онтологию template_list – список шаблонов filter_expr – ограничения на значения переменных
-
Пример SPARQL (1)
Данные RDF в виде триплетов (S, P, O): (Foo1, category, “Total Members”); (Foo1, rdf:value, 199); (Foo2, category, “Total Members”); (Foo2, rdf:value, 200); (Foo2, category, “CATEGORY X”); (bar, category, “CATEGORY X”); (bar, rdf:value, 358).
-
Пример SPARQL (2)
SPARQL - Запрос: SELECT ?cat ?val WHERE {?x rdf:value ?val. ?x category ?cat. FILTER(?val>=200).} Предложение SELECTописывает переменныеcatи val, значение которых необходимо вычислить. Предложение WHEREнакладывает шаблоны вида (S, P, O). Внутри шаблона можно использовать связанные переменные -x Предложение FILTERнакладываетограничение на значения переменной valизвлеченных значения Семантика запроса: выдайте все объекты cat предиката category, субъект которого (x) является также субъектом предиката rdf:value со значением val,не меньшим 200. Вместе со значениями catвыдать соответствующие значения val.
-
Пример SPARQL (3)
Ход выполнения запроса: На место переменной xмогут быть подставлены Foo1, Foo2 и bar, причем Foo2 может быть подставлен дважды. При подстановке Foo1 значениепеременной val не удовлетворяет ограничениюв предложении FILTER. Во всех других случаях все условия запроса выполнены (см. результат). Результат выполнения запроса: [["Total Members", 200], ["CATEGORY X",200], ["CATEGORY X",358]]
-
Заключение. Основные вехи на пути к Semantic Web
Широкое распространение Web стандартов (рекомендаций W3C) XML RDF/RDFS OWL SPARQL RIF (Rule Interchange Format) Наличие свободно распространяемых каркасов для разработки Semantic Web приложений JenaFramework (Java) Drive RDF Parser (C#) Массовая разработка и использование онтологий!!!
-
Заключение. Semantic Web «прилив»
-
Вопросы к лекции
Для чего нужен RDFS? Что такое реификация? Чем отличается класс RDFS от класса OWL?
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.