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

advertisement
XML-ТЕХНОЛОГИИ
Лекция 5
Семантический Веб: микроформаты RDF, OWL и FOAF
Семантический Веб. Определение

Семантический Веб (Semantic Web) — расширение существующей
сети Internet, в котором информация представляется в четком и
определенном смысловом значении, дающем возможность людям
и компьютерам работать с более высокой степенью
взаимопонимания и согласованности
Пример использования возможностей Семантической сети
Семантический Веб. Основная идея
Каждая страница
семантической сети содержит
информацию на двух языках:
на обычном, понятном
человеку и показываемом
браузером, и на специальном,
понятном интеллектуальным
программам-агентам, роботам
Семантический Веб. Архитектура
Модель OSI
Стек стандартов Semantic Web
Семантический Веб. Форматы


Языки представления данных:
 XML
 RDF
 FOAF
Модели предметных областей:
 онтологии — OWL
RDF. Концепция

Определение. RDF (Resource Description Framework,
система описания ресурсов) — модель представления
данных и метаданных в Семантическом Вебе

Идея. Представить в единообразном структурированном
виде любой факт или знание так, чтобы его могли
обрабатывать любые компьютерные программы

Отличие от XML. XML → описание данных
RDF → семантика

Назначение. RDF описывает
связывающие объекты и факты
логические
выводы,
RDF. Триплеты
RDF описывает факты в виде:
 утверждений
 графов

Описание факта — триплет: «объект – предикат – субъект» ( «подлежащее –
сказуемое – объект», «ресурс, именованное свойство и его значение»)

Пример триплета-утверждения: «Книга называется «Хроники Нарнии»
(субъект «книга», предикат «имеет название», объект «Хроники Нарнии»)
Предикат
Субъект
Объект
RDF. Компоненты триплета

Ресурс — все, что описывается средствами RDF (веб-страница и ее
части, произвольный предмет из мира вещей). Обозначается через
URI

Именованное свойство — аспект, характеристика, атрибут или
отношение, используемое для описания ресурса

Значение — ресурс или литерал

Упрощенный язык
Нотация 3 / N3
представления
семантических
данных
—
RDF. Нотация N3

Триплет: Книга называется «Хроники Нарнии» (простая
констатация факта).

В формате N3:
@prefix : <http: www.example.org> . (URI для фактов документа)
:bookX a :book . (объект bookX – книга)
:bookX :hasName : The Chronicles of Narnia. (книга bookX
называется The Chronicles of Narnia)
RDF. Нотация N3

Логические связи между фактами:

Документ 1:
@prefix : <http://www.example.org/> .
:john a
:Person . (некий Джон – персона / человек)
:john :hasMother :susan . (у Джона есть мать – Сюзан)
:john :hasFather :richard . (у Джона есть отец – Ричард)

Документ 2:
@prefix : <http://www.example.org/> .
:richard :hasBrother :luke . (у Ричарда есть брат – Люк)
{ ?a :hasFather ?b . ?b :hasBrother ?c . } => { ?a :hasUncle ?c }
RDF XML

Документ RDF → документ XML

Пространство имен с URI: http://www.w3.org/1999/02/22-rdf-syntax-ns#

Расширение файлов — rdf

XML-представление:
<факт субъект="...">
<предикат>объект</предикат>
</факт>
RDF XML
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:x="http://test.test/rdf/">
<rdf:Book rdf:about="http://test.test">
<x:title> The Chronicles of Narnia </x:title>
</rdf:Book>
</rdf:RDF>
Онтологии

Онтология — описание на некотором формальном
языке понятий некоторой предметной области и
отношений между ними
Какое-то издательство
Какое-то издание
OWL

OWL (Web Ontology Language) — язык представления онтологий в Web

OWL-онтологии — описания классов, свойств и их экземпляров




— 2004 год
Диалекты:
OWL Lite
OWL DL
OWL Full
Структура OWL-онтологии
Заголовок
Тело
Онтология



Объекты
класс: owl:Class
иерархия: rdfs:subClassOf
экземпляр класса: owl:Thing
Классы в OWL







Класс-аксиома:
owl:Class
Способы описания класса:
Идентификатором класса (URI) — именованный класс;
перечислением всех экземпляров класса;
ограничением на значение свойства;
пересечением 2-х и более определений классов;
объединением 2-х и более определений классов;
дополнением (логическим отрицанием) определения
класса.
Пример

<owl:Class rdf:ID="Human"/>
анонимные
классы
Свойства в OWL


Категории свойств:
свойства-объекты
свойства-значения

Определение свойств
owl:ObjectProperty
owl:DatatypeProperty

Пример
<owl:ObjectProperty rdf:ID="hasParent"/>

OWL. Пример
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://www.xfront.com/owl/ontologies/camera/#"
xmlns:camera="http://www.xfront.com/owl/ontologies/camera/#"
xml:base="http://www.xfront.com/owl/ontologies/camera/">
<owl:Ontology rdf:about="">
<rdfs:comment>
Camera OWL Ontology
Author: Roger L. Costello
</rdfs:comment>
</owl:Ontology>
</rdf:RDF>
FOAF. Терминология

Технология FOAF (friend of a friend) – проект для создания
сети машиночитаемых домашних страниц, описывающих
людей, связи между ними, то, что они создают и чем
занимаются.

FOAF – онтология описания человека / личности

Основное назначение – повысить мобильность
пользователей социальных сетей

Основа – RDF и XML
FOAF. Пример
<rdf:RDF
xmlns:rdf="httр://www.w3.org/1999/02/22-rdf-syntax-ns#«
xmlns:foaf="httр://xmlns.сom/foaf/0.1/«
xmlns:rdfs="httр://www.w3.org/2000/01/rdf-sсhema#">
<foaf:рerson>
<foaf:name>Иван Иванов</foaf:name>
<foaf:mbox rdf:resourсe="mailto:ivanov@mail.ru" />
<foaf:homeрage rdf:resourсe=" www.ivanovpage.сom/" />
<foaf:niсk>IvanIvanov</foaf:niсk>
</foaf:рerson>
</rdf:RDF>
FOAF-a-matic
Генерация FOAF-онтологий:
FOAF-a-matic (http://www.ldodds.com/foaf/foaf-a-matic)
FOAF-a-matic
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:admin="http://webns.net/mvcb/">
<foaf:PersonalProfileDocument >
<foaf:maker rdf:resource="#me"/> <foaf:primaryTopic rdf:resource="#me"/>
<admin:generatorAgent rdf:resource="http://www.ldodds.com/foaf/foaf-a-matic"/>
<admin:errorReportsTo rdf:resource="mailto:leigh@ldodds.com"/>
</foaf:PersonalProfileDocument>
<foaf:Person rdf:ID="me">
<foaf:name>Иван Иванов</foaf:name><foaf:title>Mr</foaf:title>
<foaf:givenname>Иван</foaf:givenname><foaf:family_name>Иванов</foaf:family_name><foaf:nick>IvanIvanov</foaf:nick>
<foaf:mbox_sha1sum>1490bd54af3acaed9be306215c4ed2f9b49fe0fc</foaf:mbox_sha1sum>
<foaf:homepage rdf:resource="www.ivanovpage.com"/>
<foaf:phone rdf:resource="tel:1234567"/>
<foaf:workplaceHomepage rdf:resource="www.ivanovwork.com"/>
<foaf:workInfoHomepage rdf:resource="Программирование"/>
<foaf:schoolHomepage rdf:resource="средняя школа №1"/>
<foaf:knows>
<foaf:Person>
<foaf:name>Петр Петров</foaf:name>
<foaf:mbox_sha1sum>a2f81c216b31299ec18565735d863bddc4293257</foaf:mbox_sha1sum></foaf:Person>
</foaf:knows> …
Формат XFN

XFN — XHTML Friends Network
Download