200 likes | 440 Views
Технологии Semantic Web. Наталья Геннадьевна Кеберле старш. преп. каф. ИТ , kenga@zsu.zp.ua , kenga@email.zp.ua. Содержание лекции. “ Слоёный пирог ” Semantic Web стандартов RDF – Resource Description Framework RDF хранилища SPARQL – язык запросов к RDF хранилищам.
E N D
Технологии Semantic Web Наталья Геннадьевна Кеберле старш. преп. каф. ИТ, kenga@zsu.zp.ua, kenga@email.zp.ua
Содержание лекции • “Слоёный пирог”Semantic Web стандартов • RDF – Resource Description Framework • RDF хранилища • SPARQL – язык запросов к RDF хранилищам
Структура стандартов 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 is-a URN – Uniform Resource Name URL – Uniform resource Locator urn:isbn:978-1-4200-9050-5 http://www.amazon.com/Foundations-Semantic-Technologies-Textbooks-Computing/dp/142009050X Идентификатор конкретной книги по её адресу в он-лайн магазине Amazon Идентификатор конкретной книги по 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%B8%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-in-primitive-datatypes )
Итак, RDF • RDF – Resource Description Framework – Среда описания ресурсов (в Сети) Сеть моделируется как гиперграф (точнее, Giant Global Graph, GGG), вершинами которого являются ресурсы произвольной природы (в том числе, литералы), а дугами – связи (или ссылки) между ресурсами
Пример RDF графа RDF ресурсы http://www.amazon.com/Foundations-Semantic-Technologies-Textbooks-Computing/dp/142009050X http://www.deri.ie/library/0.1/publishedBy http://crcpress.com/uri http://purl.org/dc/elements/1.1/title http://purl.org/dc/elements/1.1/publisher Foundations of Semantic Web Technologies 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-Semantic- Technologies-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 crc:uri . book:142009050X dc:title “Foundations of Semantic Web Technologies” . crc:uri dc:publisher “CRC Press” . Субъекты Предикаты Объекты Символ « . » - конец трипла
RDF на Turtle (2) @prefix book <http://www.amazon.com/Foundations-Semantic- Technologies-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 crc:uri ; dc:title “Foundations of Semantic Web Technologies” . crc:uri dc:publisher “CRC Press” . Субъекты Предикаты Объекты Символ « ; » - конец трипла, но возможно будут ещё триплы с заданным пространством имён
RDF на Turtle (3) @prefix book <http://www.amazon.com/Foundations-Semantic- Technologies-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 crc:uri ; dc:title “Foundations of Semantic Web Technologies” ; dc:creator book:Hitzler, book:Krötzsch, book:Rudolph . crc:uri dc:publisher “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/Foundations-Semantic-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-ресурсов (люди, фирмы, товары…) Типы описываются средствами RDFSchema и 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) таблица целочисленных идентификаторов для всех используемых URIURI (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