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