Transcript Document

Технологии Semantic Web
Наталья Геннадьевна Кеберле
старш. преп. каф. ИТ, [email protected], [email protected]
Содержание лекции
“Слоёный пирог” Semantic Web
стандартов
II. RDF – Resource Description
Framework
III. RDF хранилища
IV. SPARQL – язык запросов к RDF
хранилищам
I.
Структура стандартов W3C для
Semantic Web
Источник: http://www.w3.org/2007/Talks/0130-sb-W3CTechSemWeb/#(24)
Основы
• Уникальные идентификаторы ресурсов:
URI (Unified Resource Identificator)
• Unicode – способ представления строк в
национальных кодировках (= нет привязки
к латинице)
• URI + поддержка Unicode в
идентификаторах ресурсов = IRI:
(International Resource Identificator)
URI
is-a
URL –
Uniform
resource
Locator
http://www.amazon.com/FoundationsSemantic-Technologies-TextbooksComputing/dp/142009050X
Идентификатор конкретной книги
по её адресу в он-лайн магазине
Amazon
is-a
URN –
Uniform
Resource
Name
urn:isbn:978-1-4200-9050-5
Идентификатор конкретной книги
по ISBN (где находится сама книга неизвестно)
IRI
is-a
URI
С поддержкой UNICODE
URI:
http://www.w3c.it/talks/2005/openCulture/slide7-0.html
IRI:
http://ru.wikipedia.org/wiki/%D0%9A%D0%BD%D0%B
8%D0%B3%D0%B0
Представление данных:
литералы
• URI позволяют именовать произвольные
ресурсы, даже если эти ресурсы не «в Сети»
• Как обрабатывать эти ресурсы – зависит от
программы их обработки
• Но: есть специальные ресурсы, которые
одинаково обработает любая программа
• Эти ресурсы называются литералами
• Например, литералами являются:
– “025”, “25”, “Запорожье”, “21.09.2010”, ...
Литералы
• Нетипизированные
– “025”, “25”, “Наталья”, “Запорожье”, “21.09.2010”
• Типизированные
–
–
–
–
“025”^^xsd:integer,
“25”^^xsd:decimal,
“Запорожье” ^^xsd:string,
“21.09.2010”^^xsd:date
• Для типизированных литералов используют
XML Schema
(http://www.w3.org/TR/xmlschema-2/#built-inprimitive-datatypes )
Итак, RDF
• RDF – Resource Description Framework –
Среда описания ресурсов (в Сети)
Сеть моделируется как гиперграф
(точнее, Giant Global Graph, GGG),
вершинами которого являются ресурсы
произвольной природы (в том числе,
литералы), а дугами – связи (или
ссылки) между ресурсами
Пример RDF графа
RDF ресурсы
http://www.amazon.com/FoundationsSemantic-Technologies-TextbooksComputing/dp/142009050X
http://www.deri.ie/library/0.1/publ
ishedBy
http://crcpress.com/uri
http://purl.org/dc/elements/1.1/title
Foundations of Semantic Web
Technologies
http://purl.org/dc/elements/1.1
/publisher
CRC Press
RDF литералы
В описании дуг используется набор ресурсов, созданных в рамках проекта
Dublin Core( http://dublincore.org/documents/dces/ ) для описания ресурсов,
публикуемых в сети
Формы записи RDF
• N-Triple
• Turtle
• Сериализация в XML
Суть одна: каждое утверждение в RDF –
это трипл (триплет, triple) вида:
subject
predicate
object
RDF на Turtle
@prefix book
<http://www.amazon.com/Foundations-SemanticTechnologies-Textbooks-Computing/dp/>
.
@prefix dc
<http://purl.org/dc/elements/1.1/> .
@prefix crc
<http://crcpress.com/> .
@prefix library <http://www.deri.ie/library/0.1/> .
Субъекты
Предикаты
book:142009050X
book:142009050X
library:publishedBy
dc:title
crc:uri
dc:publisher
Символ « . » - конец трипла
Объекты
crc:uri .
“Foundations of Semantic
Web Technologies” .
“CRC Press” .
RDF на Turtle (2)
@prefix book
<http://www.amazon.com/Foundations-SemanticTechnologies-Textbooks-Computing/dp/>
.
@prefix dc
<http://purl.org/dc/elements/1.1/> .
@prefix crc
<http://crcpress.com/> .
@prefix library <http://www.deri.ie/library/0.1/> .
Субъекты
Предикаты
book:142009050X
library:publishedBy
dc:title
crc:uri
dc:publisher
Объекты
crc:uri ;
“Foundations of Semantic
Web Technologies” .
“CRC Press” .
Символ « ; » - конец трипла, но возможно будут ещё триплы с заданным
пространством имён
RDF на Turtle (3)
@prefix book
<http://www.amazon.com/Foundations-SemanticTechnologies-Textbooks-Computing/dp/>
.
@prefix dc
<http://purl.org/dc/elements/1.1/> .
@prefix crc
<http://crcpress.com/> .
@prefix library <http://www.deri.ie/library/0.1/> .
Субъекты
book:142009050X
Предикаты
library:publishedBy
dc:title
dc:creator
crc:uri
dc:publisher
Объекты
crc:uri ;
“Foundations of Semantic
Web Technologies” ;
book:Hitzler, book:Krötzsch,
book:Rudolph .
“CRC Press” , “CRC”.
Символ « , » - конец трипла, но будут ешё другие значения объекта с тем же
субъектом и предикатом
RDF в XML
• Наиболее популярен в машинной
обработке
• Наиболее сложен для восприятия
человеком
Используется стандартное пространство
имён
xmlns:rdf = “http://www.w3.org/1999/02/22-rdf-syntax-ns#”
Примеры RDF в XML
<?xml version=“1.0” encoding=“utf-8”>
<rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:library=“http://www.deri.ie/library/0.1/”
xmlns:dc=“http://purl.org/dc/elements/1.1/”>
<rdf:Description rdf:about=“http://www.amazon.com/FoundationsSemantic-Technologies-Textbooks-Computing/dp/142009050X”>
<dc:title>Foundations of Semantic Web Technologies</dc:title>
<library:publishedBy>
<rdf:Description rdf:about=“http://crcpress.com/uri”>
<dc:publisher>CRC Press</dc:publisher>
</rdf:Description>
</library:publishedBy>
</rdf:Description>
</rdf:RDF>
Типы в RDF
Тип (type) — группа однотипных RDF-ресурсов (люди,
фирмы, товары…)
Типы описываются средствами RDF Schema и OWL
(далее)
Принадлежность ресурса типу задается встроенным
предикатом rdf:type
Например:
“CRC Press является организацией”
@prefix foaf <http://xmlns.com/foaf/0.1/>
crc:uri
rdf:type
foaf:Organization .
FOAF (Friend-Of-A-Friend) – пространство имён для описания друзей,
знакомых, мест_работы, и т.д.
RDF хранилища
RDF triplestore (RDF хранилище, хранилище триплов)
– база данных, (грубо) состоящая из двух таблиц:
1) таблица целочисленных идентификаторов для всех
используемых URI
URI (Code int not null, URI uri)
2) таблица квадов
Quad (Graph int not null, Subject int not null,
Predicate int not null, Object any not null)
3) индексы GSPO, PGOS, OGPS, SPGS
4) view, связывающий таблицу квадов с таблицей
идентификаторов URI и возвращающий квады в
читабельном виде.
Т.е. хранятся не триплы, а квады (quads, “четвёрки”)!
По структуре триплстора благодарность Ивану Михайлову,
http://forum.semanticfuture.net/viewtopic.php?id=74
SPARQL
• SPARQL – это SPARQL Query Language
for RDF – язык запросов для RDF
• Описан здесь
• http://www.w3.org/TR/rdf-sparql-query/
• Похож на SQL