Языки описания информации Лекция ХХХ. Кафедра «ОСУ» Весенний семестр 2010/2011 уч. года Среда описания ресурсов RDF.

Презентация:



Advertisements
Похожие презентации
Переход от XML документов к RDF документам Цель языка RDF Целью языка RDF (Resource Description Framework) является предоставление стандартного способа.
Advertisements

XML-ТЕХНОЛОГИИ Лекция 5 Семантический Веб: микроформаты RDF, OWL и FOAF.
Архитектура метаданных WWW. Язык RDF Архитектура метаданных WWW RDF.
Introduction Microsoft Access 41 Database models 2 Database management system 3 What is database?
Реляционная база данных электронной библиотеки в Semantic Web. Представление метаданных в виде связанных данных Новицкий А.В. Институт программных систем.
1 Концепция Web 3.0 Web как семантическая паутина : традиционные информационные ресурсы + метаданные, описывающие семантические связи в информационных.
Практические применения семантических вычислений. Поиск по графу, контролируемый естественный язык Сергей Горшков, «Бизнес Семантика»
XML eXtensible Markup Language 1.Пространства имён (Namespaces) 2.Язык навигации внутри XML-документа (XPath)
Lesson 2. How to say hello & goodbye ?. When we first meet someone whether it is a person we know or someone we are meeting for the first time, we will.
Учимся писать Эссе. Opinion essays § 1- introduce the subject and state your opinion § 2-4 – or more paragraphs - first viewpoint supported by reasons/
11 BASIC DRESS-UP FEATURES. LESSON II : DRESS UP FEATURES 12.
What to expect? How to prepare? What to do? How to win and find a good job? BUSINESS ENGLISH COURSE NOVA KAKHOVKA GUMNASUIM 2012.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 14. тема: XML-ТЕХНОЛОГИИ В БАЗАХ ДАННЫХ.
Indirect Questions How do you make indirect questions? When do you use this grammar?
Welcome to…. YOUR FIRST PART – START TO FINISH 2.
Taking out Money from a Cash Machine Authors: Aleksey Ermolaev, Daria Zaitseva, Maria Leontyeva, Anatoly Leshchev, Form 10 pupils Teacher: V. V. Sergoushina,
General information about Microsoft Access. It allows you to store large amounts of data, process them, automate frequently used operations, develop convenient.
Take one minute to prepare a talk on the following subject. Take notes if you like and remember to include reasons and examples. You should then speak.
THE MEDIA The mass media play an important part in our lives. Nowadays information is the most necessary thing. That is why there are so many sources.
Речь какого-нибудь лица, передаваемая буквально так, как она была произнесена, называется прямой речью (direct speech). Речь, передаваемая не слово в.
Транксрипт:

Языки описания информации Лекция ХХХ. Кафедра «ОСУ» Весенний семестр 2010/2011 уч. года Среда описания ресурсов RDF

При всевозрастающем объеме электронной информации давно и очень актуальной становится задача ее представления в формате, понятном не только человеку, но и интеллектуальной программе. Под интеллектуальной программой понимается программа, которая может выполнять логический вывод.

История Web 2002 RDF 2001 Web semantic 1998 XML 1996 CSS 1994 W3C 1990 HTML Tim Berners-Lee

Технологические уровни «Semantic Web»

Введение в RDF RDF это среда (framework) для описания Web ресурсов, таких, как информация о названии (title), авторе (author), дате изменения (modification date), содержание (content) и авторском праве (copyright) Web страницы. Пример RDF документа: W3Schools Jan Egil Refsnes

Введение в RDF

Что такое RDF? – RDF это сокращение для фразы Resource Description Framework (среда описания ресурсов); – RDF это структура (средство, каракас, инфраструктура) для описания ресурсов, имеющихся в web сети; – RDF разработано для чтения и понимания компьютерными программами; – RDF не предназначено для работы с такими описаниями пользователей (людей); – RDF записывается на языке XML; – RDF является частью работы организации W3C по созданию «Semantic Web»; – RDF является стандартом организации W3C. Примеры использования RDF – Описание свойств продаваемых товаров, таких, как цена и доступность (price and availability). – Описание расписаний (time schedules) для событий в web сети. – Описание информации о web страницах (content, author, created и modified date). – Описание содержания (content) и оценки (rating) web картинок (pictures). – Описание содержания для поисковых систем (search engines). – Описание электронных библиотек.

Что такое RDF? RDF разработано для чтения и понимания компьютерными программами; – RDF было разработано для предоставления общего способа описывать информацию так, чтобы ее можно было читать и понимать компьютерными программами. – RDF описания не предназначаются для того, чтобы их показывать в web сети. RDF записывается на языке XML – RDF документы записываются на языке XML. Язык XML, который используется средой RDF называется RDF/XML. – В результате использования XML, может легко обмениваться RDF информацией между разными типами компьютеров, использующих разные типы ОС и языков программирования. RDF и концепция Semantic Web – Язык RDF является частью деятельности W3C по разработке «Semantic Web». – Концепция W3C это будущий этап развития WWW, в котором: – Web информация имеет точный смысл. – Web информация может быть понята и обработана компьютерными программами. – Компьютеры могут интегрировать информацию из web сети.

Что такое RDF? RDF это язык утверждений, предназначенный для описания высказываний (propositions) с помощью использования точных формальных словарей, в особенности таких, которые определены с помощью языка RDFS. К RDF утверждениям можно получить доступ и использовать в Web сети (World Wide Web). RDF и RDFS предназначены предоставить основу для более совершенных языков утверждений, имеющих аналогичные цели. RDF язык описания высказываний; RDFS словари также описываются в виде наборов высказываний.

Что точно считать «смыслом» утверждений в RDF или RDFS, в некотором широком понимании, может зависеть от многих факторов, включая социальные условности, комментарии на естественном языке или связи с другими, имеющими контент, документами. Значительная часть такого смысла будет недоступна для компьютерной обработки и упоминается здесь только для того, чтобы подчеркнуть, что формальная семантика, описанная в данном документе не предназначена для предоставления полного анализа «смысла» в таком широком понимании; это должно быть темой большого исследования. Описанная в данном документе семантика ограничена формальным пониманием смысла, которое может быть охарактеризовано, как часть, которая является общей для всех других пониманий смысла (accounts of meaning) и может быть зафиксирована в механических правилах логического вывода (mechanical inference rules).

Работы организации W3C, связанные с RDF и OWL RDF и OWL это две важные технологии концепции Semantic Web (Семантическая Паутина). Semantic Web это среда для совместного использования данных компаниями, приложениями, предприятиями, сообществами и людьми, независимо от используемой платформы и программного обеспечения. RDF и OWL являются ключевыми технологиями Semantic Web. – RDF - Resource Description Framework RDF это язык для описания Web ресурсов, например, таких, как заголовок, автор, дата изменения, содержание и информация об авторском праве web- страницы. – OWL - Web Ontology Language OWL построен над RDF и является языком для обработки информации в сети Интернет. – SPARQL - Query Language for RDF SPARQL предлагает разработчикам способ записи запросов к широкому набору RDF информации в сети Интернет.

Описания стандартов и даты их принятия организацией W3C … SpecificationDraft / ProposalRecommendation RDF Primer 10. Feb 2004 RDF Test Cases 10. Feb 2004 RDF Concept 10. Feb 2004 RDF Semantics 10. Feb 2004 RDF Schema 10. Feb 2004 RDF Syntax 10. Feb 2004 OWL Overview 10. Feb 2004 OWL Guide 10. Feb 2004 OWL Reference 10. Feb 2004 OWL Syntax 10. Feb 2004 OWL Test Cases 10. Feb 2004 OWL Use Cases 10. Feb 2004 Parsing OWL in RDF21. Jan 2004 SPARQL Language 15. Jan 2008

RDF модель данных Утверждениями являются триплеты вида : Триплеты могут быть представлены в виде графа: IanUli hasColleague Утверждения описывают свойства (properties) ресурсов. Ресурсом является любой объект, на который можно сослаться с помощью URI: –документ, картинка, параграф текста в Web сети; – –книга в библиотеке, реальный человек (?) –isbn:// –…–… Сами свойства также являются ресурсом (имеют URI идентификаторы)

URI идентификаторы URI = Uniform Resource Identifier «Обобщенное множество всех имен/адресов, являющиеся короткими строками, которые являются ссылками на ресурсы.» URL адреса (Uniform Resource Locators) являются частным случаем ресурсов, которые доступны в WWW (например, web-страницы). В RDF данных, URI идентификаторы обычно выглядят, как нормальные URL адреса, часто с идентификаторами фрагментов, указывающие на конкретные части документа:

Связывание утверждений Субъект одного утверждения может быть объектом для другого утверждения. Такие коллекции утверждений формируют направленный, размеченный граф. Отметим, что объектом триплета может также быть литерал (строка). Ian Uli hasColleague Carole ttler hasColleague hasHomePage

Синтаксис языка RDF RDF использует XML синтаксис, который имеет специальный смысл: – Каждый элемент Description описывает ресурс. – Каждый атрибут или вложенный подэлемент в элементе Description является свойством ( property ) данного Ресурса ( Resource). – На ресурсы можно ссылаться с помощью URI:

Правила языка RDF RDF идентифицирует объекты с помощью web-идентификаторов (URI) и описывает ресурсы свойствами (properties) и значения свойств (property values) RDF описывает ресурсы свойствами (properties) и значения свойств (property values). Ресурс (resource) это любое понятие, которое может иметь URI, такое, как например: " Свойство (property) это отношение ресурса с другими ресурсами или различными данными, такие, как "author" или "homepage". Значение свойства (property value) это объект, с которым связан ресурс (другой ресурс или какое-то данное стандартного типа). Например, "Jan Egil Refsnes или " (note that a property value can be another resource) Следующий RDF документ может описывать ресурс " Jan Egil Refsnes Это упрощенный пример, в котором не задано пространство имен.

Утверждения языка RDF The combination of a Resource, a Property, and a Property value forms a Statement (known as the subject, predicate and object of a Statement). Let's look at some example statements to get a better understanding: Statement: "The author of is Jan Egil Refsnes". – The subject of the statement above is: – The predicate is: author – The object is: Jan Egil Refsnes Statement: "The homepage of is – The subject of the statement above is: – The predicate is: homepage – The object is:

Пример RDF данных Таблица с двумя записями с описанием CD: TitleArtistCountryCompanyPriceYear Empire BurlesqueBob DylanUSAColumbia Hide your heartBonnie TylerUKCBS Records Below is a few lines from an RDF document: Bob Dylan USA Columbia Bonnie Tyler UK CBS Records

Компоненты RDF Формальная модель данных. Синтаксис для обмена данными. Система схемы типов (schema model). Синтаксис для схем, понимаемых программами. Протоколы запросов и профилей.

Модель данных RDF Imposes structural constraints on the expression of application data models: – For consistent encoding, exchange and processing of metadata. Enables resource description communities to define their own semantics. Provides for structural inter-operability.

Модель данных RDF Направленный размеченный граф. Элементы модели: – Ресурс - Resource, – Свойство - Property, – Значение - Value, – Утверждение - Statement.

Примитивы RDF модели Resource Property Type Value Statement Value

Простой пример Resource Author Mark

Простой пример Page.html creator Mark title Marks Homepage

Spring Базовая RDF модель Resources: – All things being described by RDF expressions, – Named by URI. Properties: – A specific aspect, characteristic, attribute, or relation used to describe a resource. How the characteristics of properties are expressed? --> RDF schema.

Spring Базовая модель RDF Утверждения (Statements): – A specific resource together with a named property plus the value of that property for that resource, – A statement consists of three elements: 1. Subject (resource), 2. Predicate (property), 3. Object (value).

Базовая модель RDF Пример: Ora Lassila is the creator of the resource Subject (Resource) Predicate (Property) Creator Object (Value) "Ora Lassila"

Spring Базовая модель RDF The direction of the arrow is important. The arc always starts at the subject and points to the object of the statement. The simple diagram above may also be read " has creator Ora Lassila", or in general " HAS ". " Ora Lassila

Spring Базовый синтаксис RDF The RDF data model provides an abstract, conceptual framework for defining and using metadata. A concrete syntax, such as XML, is needed for the purposes of creating and exchanging this metadata. RDF also requires the XML namespace facility to precisely associate each property with the schema that defines the property

Spring Базовый синтаксис RDF Ora Lassila is the creator of the resource Represented in RDF/XML as: Ora Lassila

Spring Контейнеры Frequently it is necessary to refer to a collection of resources: – For example, to say that a work was created by more than one person, or to list the students in a course, or the software modules in a package. RDF containers are used to hold such lists of resources or literals.

Spring Модель контейнеров Bag: – An unordered list of resources or literals, where the order of processing the parts does not matter Sequence: – An ordered list of resources or literals, e.g an alphabetical ordering of values. Alternative: – A list of resources or literals that represent alternatives for the (single) value of a property: e.g a list of Internet mirror sites at which a resource might be found.

Spring Модель контейнеров The students in course are Amy, Tim, John, Mary, and Sue.

Spring Модель контейнеров The students in course are Amy, Tim, John, Mary, and Sue.

Spring Синтаксис RDF The RDF Model defines the formal relationships among resources, properties and values. The Syntax is required to... – Store instances of the model into files, – Communicate files from one application to another. All based on W3C XML eXtensible Markup Language: –

Spring Bringing it together RDF Metadata transmission: – Embedded (e.g. ), transmitted with resource (HTTP), trusted 3rd Party (HTTP GET). RDF Data Model: – Support consistent encoding, exchange and processing of metadata… critical when aggregating data from multiple sources. RDF Schema: – Declare, define, reuse vocabularies.

RDF Анализатор (Parser) Имеется хороший грамматический анализатор RDF на web-сайте организации W3С: This RDF parser will tell you if your XML is in the proper RDF format.

Он-лайн валидаторы RDF документов W3C's RDF Validation Service ( is useful when learning RDF. W3C's RDF Validation Service Here you can experiment with RDF files. The online RDF Validator parses your RDF document, checks your syntax, and generates tabular and graphical views of your RDF document. Copy and paste the example below into W3C's RDF validator: W3Schools.com Jan Egil Refsnes

Проверка и визуализация созданных RDF документов Enter a URI or paste an RDF/XML document into the text field above. A 3- tuple (triple) representation of the corresponding data model as well as an optional graphical visualization of the data model will be displayed. Check by Direct Input Display Result Options: Triples and/or Graph: Graph format: Paste an RDF/XML document into the following text field to have it checked. More options are available in the Extended interface.Extended interface Check by URI Display Result Options: Triples and/or Graph: Graph format: Enter the URI for the RDF/XML document you would like to check. More options are available in the Extended interface.Extended interface

Результаты проверки

Основные элементы RDF Основными элементами RDF являются: – корневой элемент, – элемент, который идентифицирует ресурс. Элемент – is the root element of an RDF document. It defines the XML document to be an RDF document. It also contains a reference to the RDF namespace: Например:...здесь записывается описание...

Элемент The Element – Элемент определяет ресурс с атрибутом about. – Элемент содержит элементы, которые описывают данный ресурс: Например: Bob Dylan USA Columbia Элементы artist, country, company, price и year определены в пространстве имен Данное пространство имен находится вне RDF (и не является частью RDF). RDF описывает только framework. Элементы artist, country, company, price и year должны быть определены в каком-то другом месте (company, organization, person, etc).

Задание свойств в атрибутах Элементы свойств (property elements) также могут быть описаны в виде атрибутов (а не в виде элементов):

Задание свойств в виде ресурсов Элементы описания свойств (property elements) также могут быть определены в виде ресурсов: ... … В данном примере, свойство artist не имеет свойство (value), а использует ссылку (reference) на ресурс (resource), который содержит информацию о данном художнике (artist).

rdf:Description + rdf:type Существует еще один способ представления в виде XML. Он делает очень понятным, что выполняется описание чего-то, что это имеет некоторый конкретный тип (type) (класс) : kilometers western China's Qinghai-Tibet Plateau East China Sea This is read as: "This is a Description about the resource This resource is an instance of the River type (class). The resource has a length of 6300 kilometers, a startingLocation of western China's Qinghai-Tibet Plateau, and an endingLocation of the East China Sea." Note: this form of describing a resource is called the "long form". The form we have seen previously is an abbreviation of this long form. An RDF Parser interprets the abbreviated form as if it were this long form.

Варианты описания Альтернативно можно использовать атрибут rdf:ID вместо атрибута rdf:about, как показано ниже: kilometers western China's Qinghai-Tibet Plateau East China Sea

Эквивалентные представления! kilometers western China's Qinghai-Tibet Plateau East China Sea kilometers western China's Qinghai-Tibet Plateau East China Sea kilometers western China's Qinghai-Tibet Plateau East China Sea В литературе по RDF данный пример Обычно показывается в такой форме.

RDF контейнеры RDF контейнеры используются для описания группы объектов (things). The following RDF elements are used to describe groups: –, –, and –. RDF Terms – In the examples above we have talked about "list of values" when describing the container elements. – In RDF these "list of values" are called members. So, we have the following: – A container is a resource that contains things – The contained things are called members (not list of values)

Элемент Элемент используется для описания списказначений (list of values), которые не должны находиться в заданном порядке. Элемент может содержать повторяющиеся значения. Например: John Paul George Ringo

Элемент – The element is used to describe an ordered list of values (For example, in alphabetical order). – The element may contain duplicate values. Example George John Paul Ringo

Элемент The element is used to describe a list of alternative values (the user can select only one of the values). Example CD Record Tape

RDF коллекции RDF collections describe groups that can ONLY contain the specified members. The rdf:parseType = "Collection" Attribute – As seen in the previous chapter, a container says that the containing resources are members - it does not say that other members are not allowed. – RDF collections are used to describe groups that can ONLY contain the specified members. – A collection is described by the attribute rdf:parseType="Collection". Example

Язык RDF Schema (RDFS) RDF Schema (RDFS) is an extension to RDF. – RDF describes resources with classes, properties, and values. – In addition, RDF also needs a way to define application- specific classes and properties. Application-specific classes and properties must be defined using extensions to RDF. – One such extension is RDF Schema. RDF Schema does not provide actual application-specific classes and properties. Instead RDF Schema provides the framework to describe application-specific classes and properties. Classes in RDF Schema are much like classes in object oriented programming languages. This allows resources to be defined as instances of classes, and subclasses of classes.

Пример, демонстрирующий некоторые возможности языка RDFS: In the example above, the resource "horse" is a subclass of the class "animal".

Сокращенный пример Так как класс RDFS (class) является RDF ресурсом, то можно предыдущий пример описать в более краткой форме – используя rdfs:Class вместо rdf:Description и – опустив элемент rdf:type :

RDF Dublin Core Metadata Initiative The Dublin Core Metadata Initiative (DCMI) has created some predefined properties for describing documents. The Dublin Core is a set of predefined properties for describing documents. The first Dublin Core properties were defined at the Metadata Workshop in Dublin, Ohio in 1995 and is currently maintained by the Dublin Core Metadata Initiative.Dublin Core Metadata Initiative PropertyDefinition ContributorAn entity responsible for making contributions to the content of the resource CoverageThe extent or scope of the content of the resource CreatorAn entity primarily responsible for making the content of the resource FormatThe physical or digital manifestation of the resource DateA date of an event in the lifecycle of the resource DescriptionAn account of the content of the resource IdentifierAn unambiguous reference to the resource within a given context LanguageA language of the intellectual content of the resource PublisherAn entity responsible for making the resource available RelationA reference to a related resource RightsInformation about rights held in and over the resource SourceA Reference to a resource from which the present resource is derived SubjectA topic of the content of the resource TitleA name given to the resource TypeThe nature or genre of the content of the resource

Пример RDF описания The following example demonstrates the use of some of the Dublin Core properties in an RDF document: W3Schools - Free tutorials Refsnes Data as Web Development text/html en

Введение в OWL OWL это язык для обработки web информации. Что такое OWL? – OWL stands for Web Ontology Language – OWL is built on top of RDF – OWL is for processing information on the web – OWL was designed to be interpreted by computers – OWL was not designed for being read by people – OWL is written in XML – OWL has three sublanguages – OWL is a W3C standard

Что такое онтология (Ontology)? – Ontology is about the exact description of things and their relationships. – For the web, ontology is about the exact description of web information and relationships between web information. Why OWL? – OWL is a part of the "Semantic Web Vision" - a future where: Web information has exact meaning Web information can be processed by computers Computers can integrate information from the web OWL was Designed for Processing Information – OWL was designed to provide a common way to process the content of web information (instead of displaying it). – OWL was designed to be read by computer applications (instead of humans). OWL is Different from RDF – OWL and RDF are much of the same thing, but OWL is a stronger language with greater machine interpretability than RDF. – OWL comes with a larger vocabulary and stronger syntax than RDF.

Варианты языка OWL (sublanguages) OWL has three sublanguages: – OWL Lite – OWL DL (includes OWL Lite) – OWL Full (includes OWL DL) OWL is Written in XML – By using XML, OWL information can easily be exchanged between different types of computers using different types of operating system and application languages. OWL is a Web Standard – OWL became a W3C (World Wide Web Consortium) Recommendation in February – A W3C Recommendation is understood by the industry and the web community as a web standard. A W3C Recommendation is a stable specification developed by a W3C Working Group and reviewed by the W3C Membership.

RDF Reference The RDF Namespaces – The RDF namespace (xmlns:rdf) is: – The RDFS namespace (xmlns:rdfs ) is: The RDF Extension and MIME Type – The recommended file extension for RDF files is.rdf. However, the extension.xml is often used to provide compatibility with old xml parsers. – The MIME type should be "application/rdf+xml".

Классы RDFS / RDF ElementClass ofSubclass of rdfs:ClassAll classes rdfs:DatatypeData typesClass rdfs:ResourceAll resourcesClass rdfs:ContainerContainersResource rdfs:LiteralLiteral values (text and numbers)Resource rdf:ListListsResource rdf:PropertyPropertiesResource rdf:StatementStatementsResource rdf:AltContainers of alternativesContainer rdf:BagUnordered containersContainer rdf:SeqOrdered containersContainer rdfs:ContainerMembers hipProperty Container membership properties Property rdf:XMLLiteralXML literal valuesLiteral

RDFS / RDF Properties

RDF Attributes

Иерархия классов OWL и RDF/RDFS (отношения подклассов).

Переход от XML документов к RDF документам

Цель языка RDF Целью языка RDF (Resource Description Framework) является предоставление стандартного способа описания данных «о чем-либо». Ниже показан пример XML документа, который описывает данные (specifies data) о китайской реке Янцзы (China's Yangtze river) : 6300 kilometers western China's Qinghai-Tibet Plateau East China Sea «Это данные об реке Yangtze (Янцзы). Она имеет длину 6300 киллометров. Начинается startingLocation в западном China's Qinghai-Tibet Plateau. Заканчивается endingLocation в East China Sea."

Переход от XML к RDF kilometers western China's Qinghai-Tibet Plateau East China Sea XML Преобразование XML документа таким образом, чтобы он также стал правильным RDF документом : kilometers western China's Qinghai-Tibet Plateau East China Sea RDF Yangtze.xml Yangtze.rdf преобразуем"

RDF формат

Spring Moving from XML to RDF

Spring Переход от XML к RDF Resource Property Value

RDF формат (2)

Договоренности о задании пространств имен xmlns=" Вопрос: Зачем символ "#" помещается в конец пространства имен? Например: Ответ: RDF очень строго относится к уникальной идентификации объектов – уникальной идентификации типа (класса) и уникальной идентификации свойств. При объединении заданного пространства имен с типом, получается уникальный идентификатор типа, например, При объединении заданного пространства имен со свойством, получается e уникальный идентификатор свойства, например: Таким образом, добавление символа "#" является просто способом отделения пространства имен от имени типа и имени свойства. Хорошая практика

RDF формат value...

Преимущества использования RDF формата Можно задать вопрос: «Зачем разработчик должен беспокоиться о том, чтобы создаваемые XML документы соответствовали RDF формату?" Ответ: в результате Вы получаете несколько преимуществ: – Если RDF формат будет широко использоваться, то это поможет сделать язык XML более подходящим для взаимодействия (интероперабельным): Программные инструменты могут сразу описать структуру, «данный элемент имеет следующий тип (класс), а здесь описаны его свойства. RDF способствует использованию стандартизированных словарей (онтологий)... стандартизированных типов (классов) и стандартизированных свойств. – RDF формат предоставляет более структурированный подход к проектированию XML документов. RDF формат является стандартным (regular), постоянно повторяющимся (recurring) шаблоном. – Он позволяет быстро выявить слабости и несогласованности в разработке XML документов, которые не соответствуют RDF формату (non-RDF-compliant XML designs). Он помогает лучше понимать описываемые данные! – Разработчик получает преимущества от обоих стандартов : Можно использовать стандартные XML редакторы и валидаторы для создания, редактирования и проверки XML документа. Можно использовать RDF инструменты для выполнения логического вывода (inferencing) на описываемых данных. – RDF формат подготавливает используемые данные для работы в Semantic Web! Суммарный эффект Интероперабильность

Недостатки использования RDF формата Большее количество ограниченный: RDF формат ограничивает разработчика в том, как он может проектировать свой XML (например, он не проектировать свой XML любым произвольным способом). RDF использует пространства имен для уникальной идентификации типов (классов), свойств и ресурсов. В связи с этим нужно хорошо понимать работу с пространствами имен (namespaces). Необходимость изучить другой XML словарь: для использования RDF формата необходимо изучить словарь языка RDF.

Уникально идентифицируй ресурс Раннее уже отмечалось, что RDF очень требователен к уникальной идентификации типов (классов) и свойств. Язык RDF также очень требователен и к уникальной идентификации ресурсов, например,

Атрибут rdf:ID Значением атрибута rdf:ID является относительный идентификатор URI". Абсолютный URI" получается в результате конкатенации URL адреса XML документа с символом"#, а затем со значением rdf:ID, например,

Атрибут xml:base На предыдущем слайде было показано, как URL адрес документа используется в качестве основы для URI идентификатора. Однако основываться на местоположении документа очень не надежно: URL адрес будет меняться при перемещении документа или его копировании в другое место. Более надежным решением является задание базового URI в документе, например:

Атрибут rdf:about Вместо идентификации ресурса с помощью относительного URI (который затем требует присоединения базового URI), можно задавать полный идентификатор. Однако, для этого нужно использовать вместо атрибута rdf:ID, атрибут rdf:about: kilometers western China's Qinghai-Tibet Plateau East China Sea

Триплет = (ресурс-свойство-значение) has a of 6300 kilometers resource property value has a of western China's... resource property value has a of East China Sea resource property value

RDF формат = триплеты! Фундаментальным шаблоном проектирования RDF является представление XML данных в виде набора триплетов (resource/property/value)! Значением свойства может быть литерал (например, length имеет значение 6300 км.). Но кроме этого, значением свойства может быть другой ресурс, как показано выше (например, свойство-A имеет значение Resource-B, свойство-B имеет значение Resource- C). Далее будет показан пример свойства, которое в качестве значения имеет другой ресурс. Value-C значение свойства-A значение свойства-B Notice that the RDF design pattern is an alternating sequence of resource-property. This pattern is known as "striping".

Соглашение об именовании Хорошим стилем именования является использование больших букв в начале имени типа (class) и использование маленьких букв в начале имени свойства (property). – Это помогает быстрее выделять шаблоны (striping pattern) kilometers western China's Qinghai-Tibet Plateau East China Sea большие маленькие

Графовая RDF модель Легенда: Эллипс обозначает «Ресурс» Прямоугольник обозначает «литеральное строковое значение»

rdf:Description + rdf:type Имеется также и другой способ представления XML. Этот способ делает очень понятным, что что-то описывается, и это делает очень явным то, какой тип (class) объекта описывается : kilometers western China's Qinghai-Tibet Plateau East China Sea Это читается следующим образом: «Это Описание (Description) ресурса Данный ресурс является экземпляром типа (класса) River. Ресурс имеет длину (length) 6300 kilometers, startingLocation - western China's Qinghai-Tibet Plateau, а endingLocation - East China Sea." Замечание: такая форма описания ресурса называется «полной формой». Та форма, которая использовалась ранее является сокращением такой полной формы. RDF анализаторы понимают сокращенную форму, как если бы использовалась полная форма.

Варианты описания Альтернативно можно использовать rdf:ID, вместо атрибута rdf:about, как показано ниже: kilometers western China's Qinghai-Tibet Plateau East China Sea

Эквивалентные представления! kilometers western China's Qinghai-Tibet Plateau East China Sea kilometers western China's Qinghai-Tibet Plateau East China Sea kilometers western China's Qinghai-Tibet Plateau East China Sea Замечание: в литературе по RDF данный пример обычно показывается в этой форме.

Пространство имен RDF ID about type resource Description

Терминология В литературе по RDF используется следующая терминология: – Субъект (Subject) – этот термин ссылается на элемент, который играет роль ресурса. – Предикат (Predicate) – этот термин ссылается на элемент, который играет роль свойства (ресурса). – Объект (Object) – этот термин ссылается на элемент, который играет роль значения (свойства). Субъект Объект предикат Ресурс Значение свойство Эквивалентно!

RDF Анализатор (Parser) Имеется очень хороший RDF анализатор на web-сайте организации W3C: This RDF parser will tell you if your XML is in the proper RDF format. Do Lab1

Пример # kilometers western China's Qinghai-Tibet Plateau East China Sea The Three Gorges Dam 1.5 miles 610 feet $30 billion Yangtze2. xml Изменим XML документ, таким образом, чтобы он согласовывался с языком RDF:

Отметим два типа (класса) River Dam Экземпляр: Yangtze Свойства: length startingLocation endingLocation Экземпляр: ThreeGorges Свойства: name width height cost

Экземпляр Dam находится не на правильном месте kilometers western China's Qinghai-Tibet Plateau East China Sea The Three Gorges Dam 1.5 miles 610 feet $30 billion Dam Типы (классы) содержат свойства. Здесь показан тип River, который содержит свойства - length, startingLocation и endingLocation. Также показано, что тип River содержит другой тип - Dam. Таким образом имеется Ресурс который содержит другой Ресурс. Это не согласуется с RDF шаблоном проектирования. (как было сказано, преимуществом использования RDF – выявление несогласованностей в XML проектировании.)

Значением свойства должен быть литерал или ресурс 6300 kilometers свойство Value is a Literal The Three Gorges Dam 1.5 miles 610 feet $30 billion свойство Значением является ресурс

Измененный XML (для соответствия формату RDF) kilometers western China's Qinghai-Tibet Plateau East China Sea The Three Gorges Dam 1.5 miles 610 feet $30 billion Yangtze2,v2. xml «Река (river) Yangtze имеет препятствие (obstacle), которое является дамбой (Dam) ThreeGorges. Эта дамба (Dam) имеет имя (name) - The Three Gorges Dam. Она имеет длину 1.5 miles, высоту 610 feet и стоимость $30 billion."

RDF формат

RDF Модель (граф)

6300 kilometers western China's Qinghai-Tibet Plateau East China Sea Three-Gorges-Dam.rdf Теперь предположим, что кто-то уже создал документ, содержащий информацию о дамбе «Three Gorges Dam»: Yangtze.rdf Тогда мы можем сослаться на ресурс «Three Gorges Dam» с помощью атрибута rdf:resource, как показано ниже:

Замечание: ссылка делается на ресурс, а не на файл Почему используется такая ссылка: а не такая: То есть, почему не используется ссылка на «файл»? Ответ: 1. Что будет, если файл переместится? Тогда данная ссылка будет не верна. 2. By using an identifier of the Three Gorges Dam, and keeping a particular file unspecified, then an "aggregator tool" will be able to collect information from all the files that talk about the Three Gorges Dam resource (see next slide). Do Lab2

Любой, в Любом месте, в Любое время может сказать что-нибудь о Ресурсе Во всех рассмотренных экземплярах были предоставлены уникальные идентификаторы ресурсов, например, Следовательно, если в другом RDF документе используется ресурс с таким же идентификатором, то данные которые описаны в этом документе являются дополнительными данными об описанном нами ресурсе. Средства интеграции (aggregator tool) будут способны собирать все данные о ресурсе и показывать объединенный набор данных для описанного нами ресурса. Это очень мощная возможность!

Что лучше rdf:ID или rdf:about ? Когда должен использоваться rdf:ID? А когда должен использоваться rdf:about? – When you want to introduce a resource, and provide an initial set of information about a resource use rdf:ID – When you want to extend the information about a resource use rdf:about The RDF philosophy is akin to the Web philosophy. That is, anyone, anywhere, anytime can provide information about a resource.

6300 kilometers western China's Qinghai-Tibet Plateau East China Sea Dri Chu - Female Yak River Tongtian He, Travelling-Through-the-Heavens River Jinsha Jiang, River of Golden Sand kilometers western China's Qinghai-Tibet Plateau East China Sea Dri Chu - Female Yak River Tongtian He, Travelling-Through-the-Heavens River Jinsha Jiang, River of Golden Sand Aggregated Data! Система интеграции собирает данные (aggregator tool) собирает данные о реке Yangtze A distributed network of data!

The Three Gorges Dam 1.5 miles 610 feet $30 billion kilometers western China's Qinghai-Tibet Plateau East China Sea kilometers western China's Qinghai-Tibet Plateau East China Sea The Three Gorges Dam 1.5 miles 610 feet $30 billion Aggregate! Отметим, что ссылка на ресурс ThreeGorges Dam была заменена на Ту информацию, которую интегратор смог найти об этом ресурсе! Другой пример агрегирования

Пример #3 Yangtze 6300 kilometers western China's Qinghai-Tibet Plateau East China Sea Отметим, что в этом XML документе не задан уникальный идентификатор: Yangtze3. xml XML Yangtze 6300 kilometers western China's Qinghai-Tibet Plateau East China Sea Yangtze3. rdf RDF Данный RDF является идентичным XML документу!

Интерпретация RDF Yangtze 6300 kilometers western China's Qinghai-Tibet Plateau East China Sea Yangtze3. rdf This is read as: "This is an instance of the River type (class). The River has a name of Yangtze, a length of 6300 kilometers, a startingLocation of western China's Qinghai-Tibet Plateau, and an endingLocation of the East China Sea." В данном документе ресурс является анонимным – он не имеет идентификатора.

Недостаток анонимных ресурсов Yangtze 6300 kilometers western China's Qinghai-Tibet Plateau East China Sea Yangtze Dri Chu - Female Yak River Tongtian He, Travelling-Through-the-Heavens River Jinsha Jiang, River of Golden Sand An aggregator tool will not be able to determine if these documents are talking about the same resource. Aggregate

Пример # western China's Qinghai-Tibet Plateau East China Sea XML Yangtze4. xml Yangtze4. rdf kilometers western China's Qinghai-Tibet Plateau East China Sea RDF

6300 western China's Qinghai-Tibet Plateau East China Sea Yangtze4. xml RDF does not allow attributes on the properties (except for special RDF attributes such as rdf:resource). So we need to make the uom:units attribute a child element. Your first instinct might be to modify length to have two child elements: kilometers western China's Qinghai-Tibet Plateau East China Sea However, now the length property has as its value two values. RDF only binary relations i.e., a single value for a property.

Атрибут rdf:value length 6300 kilometers Свойство length имеет два значения и kilometers. RDF предоставляет специальное свойство rdf:value, которое можно использовать для задания «основного» значения. В данном примере, 6300 это основное значение, а kilometers это значение, которое предоставляет дополнительную информацию о основном значении.

RDF формат kilometers western China's Qinghai-Tibet Plateau East China Sea Yangtze4. rdf Анонимный ресурс Следует читать: «Река (River) Yangtze имеет длину (length), значение которой является ресурсом, имеющим значение 6300 и единицу измерения kilometers.

Преимущества анонимных ресурсов Показано описание анонимного ресурса. Единственной его целью является предоставление контекста для двух свойств (properties). Другим RDF документам не потребуется развивать данный ресурс. В связи с этим, в данном случае нет необходимости задавать данному ресурсу идентификатор. В таком случае разумно использовать автономный ресурс kilometers

Графовая RDF модель Анонимный ресурс (также называемый «пустой вершиной» "blank node"). Это ресурс без идентификатора. (Замечание: RDF парсеры обычно генерируют для анонимных ресурсов уникальные идентификаторы, чтобы отличать один анонимный ресурс от другого.) Легенда:

rdf:parseType="Resource" kilometers western China's Qinghai-Tibet Plateau East China Sea Yangtze4,v2. rdf Если значение свойства состоит из нескольких значений, то одной из возможностей его описания является создание анонимного ресурса. RDF предоставляет специальное сокращение (shorthand) rdf:parseType="Resource", чтобы не создавать элемент rdf:Description: Данная запись аналогична записи анонимного ресурса на предыдущем слайде.

Эквивалентно! 6300 kilometers 6300 kilometers Do Lab3

Итоговый пример Требуется изменить следующий XML документ, чтобы он также стал правильным (valid) RDF документом: western China's Qinghai-Tibet Plateau East China Sea The Three Gorges Dam 1.5 miles 610 feet $30 billion Yangtze.xml Смотри следующий слайд -->

RDF формат!

Графовая RDF модель

Пример # Yangtze5. xml Требуется изменить следующий XML документ, чтобы он также стал правильным (valid) RDF документом: kilometers 175 meters 55 kilometers Yangtze5. rdf Это только один из способов выполнения этого. Далее будет показан более хороший способ - используя «типизированные литералы". (См. следующий слайд)

Альтернативный RDF формат Yangtze5. rdf С помощью rdf:datatype можно задать значению свойства метку типа данных (datatype.) Значение rdf:datatype действует в качестве семантической метки для типа данных (datatype) значения. Такое значение называется типизированным литералом (typed literal). Для данного примера должно быть задано пространство имен, которое определяет два типа данных (datatypes) – kilometer и meter. На следующем слайде показано, как это сделать с помощью XML Schemas.

Определение типов данных (datatypes) kilometer и meter с помощью XML Schemas uom.xsd

Другой пример использования rdf:datatype 30 В данном примере задается, что значение (30) возраста (age) является не отрицательным целым числом nonNegativeInteger (данный тип определен в пространстве имен XML Schema).

Пример #6 -2 degrees Celsius 30.4 (rising) USA Massachusetts Boston January 22, 2003, 11:15 EST WMUR_TV_WeatherReading.xml Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом:

Общие замечания 1. Данный XML документ использует три типа (класса): WeatherReading Weather Location 2. Все 3 экземпляра типов являются анонимными. Следовательно, мы не можем получить пользу от других и другие не могут получить пользу от нас. Когда имеет смысл задавать идентификаторы для экземпляров? - В общем случае, корневой элемент должен иметь идентификатор. - Имеется множество информации о городе Boston. Давайте зададим идентификатор для экземпляра Location.

Изменение 1: Добавление идентификаторов -2 degrees Celsius 30.4 (rising) USA Massachusetts Boston January 22, 2003, 11:15 EST WMUR_TV_WeatherReading,v2.xml

Изменение 2: Создание свойств для типов Weather и Location Типы (классы) содержат свойства. Необходимо обернуть типы Weather и Location в свойства (property): -2 degrees Celsius 30.4 (rising) USA Massachusetts Boston January 22, 2003, 11:15 EST WMUR_TV_WeatherReading,v3.xml

Полученный RDF формат! -2 degrees Celsius 30.4 (rising) USA Massachusetts Boston January 22, 2003, 11:15 EST WMUR_TV_WeatherReading.rdf

Тип (класс) rdf:Bag Тип rdf:Bag используется для представления не упорядоченной коллекции.

Пример #7 John Smith Sally Jones Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом: DesignMeeting.xml rdf:Bag makes it clear that this is an unordered collection of names. John Smith Sally Jones DesignMeeting.rdf

Тип (класс) rdf:Alt Тип rdf:Alt используется для описания набора альтернативных свойств.

Пример # Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом: BarnesAndNoble.xml rdf:Alt makes it clear that the urls listed are alternates, i.e., choose one of them BarnesAndNoble.rdf

Тип (класс) rdf:Seq Тип rdf:Seq используется для описания последовательности (sequence) свойств.

Пример #9 Meet with CEO at 10am Luncheon at The Eatery Flight at 3pm Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом: MyDaysActivities.xml rdf:Seq makes it clear that the activities listed are to be done in the sequence listed. Meet with CEO at 10am Luncheon at The Eatery Flight at 3pm MyDaysActivities.rdf

Свойство rdf:li Свойство rdf:li ("list item") предоставляется языком RDF для использования совместно с rdf:Bag, rdf:Alt или rdf:Seq. The rdf:li property is provided for you to specify an item in a Bag/Alt/Seq. An RDF Parser will replace each rdf:li with rdf:_1, rdf:_2, rdf:_3, etc. The following slide recasts the previous examples using the rdf:li property.

Meet with CEO at 10am Luncheon at The Eatery Flight at 3pm MyDaysActivities.rdf BarnesAndNoble.rdf John Smith Sally Jones DesignMeeting.rdf

Пример #10 Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом: Lateral Thinking Edward de Bono Harper & Row Illusions: The Adventures of a Reluctant Messiah Richard Bach Dell Publishing Co. The First and Last Freedom J. Krishnamurti Harper & Row Barnes_and_Noble _BookCatalogue.xml Note: regrettably, the Dublin Core does not conform to the RDF naming conventions. Hence, you see properties with the first letter capitalized.

Общие замечания 1. The XML document uses two types (classes): Catalogue Book 2. All type instances are anonymous. Consequently, we cannot benefit from others, and others cannot benefit from us. Where does it make sense to give the instance an identifier? - In general, the root element should have an identifier. - There is lots of information about each book instance. Let's give each book instance an identifier (the ISBN).

Изменение 1: Добавление идентификаторов Lateral Thinking Edward de Bono 1973 Harper & Row Illusions: The Adventures of a Reluctant Messiah Richard Bach 1977 Dell Publishing Co. The First and Last Freedom J. Krishnamurti 1954 Harper & Row Barnes_and_Noble _BookCatalogue,v2. xml Notice that the ISBN elements were deleted and their values used as identifiers. Why was an underscore placed in front of the ISBN? Answer: The ID datatype does not allow an identifier to begin with a digit. So, we (arbitrarily) decided to use an underscore.

Изменение 2: Создание свойств для типа Book Barnes_and_Noble _BookCatalogue,v3. xml Types (classes) contain properties. We need to wrap the Book type within a property: Lateral Thinking Edward de Bono 1973 Harper & Row Illusions: The Adventures of a Reluctant Messiah Richard Bach 1977 Dell Publishing Co. The First and Last Freedom J. Krishnamurti 1954 Harper & Row

Полученный RDF формат!

Dublin Core (dc:) Dublin Core это стандартный набор свойств: ContentIntellectual Property Instance Title Subject Description Language Relation Coverage Source Creator Publisher Contributor Rights Date Type Format Identifier Note: many people use these properties in their HTML today. For example:

rdf:parseType="Collection" This may be added as an attribute of a property to indicate that the contents of the property is a list of resources. The following slide recasts the BookCatalogue example to use this list type.

Lateral Thinking Edward de Bono 1973 Harper & Row Illusions: The Adventures of a Reluctant Messiah Richard Bach 1977 Dell Publishing Co.... Barnes_and_Noble_BookCatalogue.rdf Do Lab4

Пример#11 The quick brown fox jumped over the lazy dog. An important person once said " Now is the time for all good men to come to the aid of their country " QuickBrownFox.rdf rdf:parseType="Literal" indicates that the content of paragraph is to be treated simply as literal XML, i.e., tools shouldn't try to parse the content into resource/property/value triples. The quick brown fox jumped over the lazy dog. An important person once said " Now is the time for all good men to come to the aid of their country " Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом: QuickBrownFox.xml The paragraph contains "mixed content".

rdf:parseType="Literal" In all of the previous examples the data was structured as resource/property/value triples. Sometimes it doesn't make sense to do such structuring – Example: with mixed content In those cases we can simply indicate "hey, the content of this property is okay. Treat it as a literal XML string."

Опасность использования rdf:parseType="Literal" The advantage of structuring your XML as resource/property/value triples is enhanced interoperability. When you use rdf:parseType="Literal" you lose the ability for a tool to instantly take advantage of the resource/property/value structure (since you are, by definition, saying that the data doesn't have this structure). Lesson Learned: use rdf:parseType="Literal" sparingly !

Пример #12 XML RDF Yangtze.xml Yangtze.rdf Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом: Отметим, что используются атрибуты, а не дочерние элементы! RDF формат также позволяет использовать атрибуты!

Атрибуты Recall that at the very beginning of this tutorial we said that a resource has properties (attributes). Thus, a property can be represented either as a child element, or as an attribute. (Of course, a property can only be represented as an attribute if it has a literal value, not a structured value.)

Эквивалентно! kilometers western China's Qinghai-Tibet Plateau East China Sea Do Lab5

Пример #13 John Smith researcher Some Corp Cool stuff Требуется изменить следующий XML документ, так, чтобы он также был правильным (valid) RDF документом:

John Smith researcher Some Corp Cool stuff Oracle 13 Java 3 BS RPI 1987

Заключение В данной презентации было показано, что часто путем небольшого изменения, «обычные XML" документы можно сделать согласуемыми с языком RDF. Рекомендуется использовать RDF формат во всех XML документах. Преимущества полученные в результате форматирования XML документа в виде RDF намного превышают возможные недостатки (необходимости структурировать XML в специфический формат и необходимости изучать новый словарь).

Spring RDF Summary RDF is a general-purpose framework. RDF provides structured, machine- understandable metadata for the Web. Metadata vocabularies can be developed without central coordination. RDF Schemas describe the meaning of each property name.

Spring Инструменты для работы с RDF

Spring Инструменты для работы с RDF

Spring Инструменты для работы с RDF

Spring Инструменты для работы с RDF

Spring Инструменты для работы с RDF

Spring Инструменты для работы с RDF

Spring Инструменты для работы с RDF

Spring Инструменты для работы с RDF