Языки описания информации RDF Лекция 9. Кафедра «ОСУ» ИК ТПУ

advertisement
Кафедра «ОСУ» ИК ТПУ
Языки описания информации
Лекция 9.
RDF
• С помощью рассмотренных языков разметки
можно
–
–
–
–
описывать синтаксис (схемы) новых языков разметки,
составлять на их основе XML-документы,
описывать связи между этими документами, а также
выполнять их преобразования.
• Языки разметки созданные на основе метаязыка
XML являются понятными пользователям за счет
– текстового формата и
– использования имеющих для человека смысл
названий тэгов.
Типы моделей данных
Проблема Web-сети

Задачи часто требуют объединения данных,
расположенных в Web-сети:




информация о гостиницах и путешествиях может
поступать с разных сайтов;
поиск в разных цифровых библиотеках;
и т.п.
Люди объединяют такую информацию легко,
даже если


используется разная терминология;
информация является не полной, размытые
изображения, видео, …
Пример: автоматический заказ билетов
на самолет

Ваша система автоматического заказа билета на
самолет



знает о ваших предпочтениях;
строит базу знаний, используя ваш прошлый опыт;
может объединять локальные знания с удаленными
сервисами:





календарь;
предпочтения по полетам;
требования диеты;
И т.п.
Она должна взаимодействовать с удаленной
информацией.
Пример: интеграция баз данных


Базы Данных очень различаются по структуре и
содержанию.
Множеству приложений требуется работа с
несколькими базами данных.






после слияния компаний;
объединение административных данных для
электронного правительства (e-Government);
биохимические, генетические и формацевтические
исслеlования;
dопросы безопасности;
И т.п..
Большинство этих данных доступны в Web-сети
(хотя и не обязательно открытые).
Использование разных типов
данных
• Проблемы работы с данными
– Описание семантики
– Интеграция распределенных данных
• С использованием иерархических данных сложно
такие проблемы решить
– Встроен один тип отношений (вложенность,
иерархия).
– Трудно объединять несколько XML-документов.
• С сетевыми структурами это сделать проще
– Можно задать словарь понятий и предикатов.
– Можно достаточно просто объединить данные из
разных источников.
Пример отсутствия семантики в
XML данных
• Отсутствие семантики может быть показано с помощью простого
примера
<ex:Person ID="2312" name="Tom">
<ex:email >
tom@example.org
</ex: email>
<ex:phone >
+43 0123 4567890
</ex:phone >
</ex:Person >
<element1 attrib1="2312" attrib2="Tom">
<element2 >
tom@example.org
</element2 >
<element3 >
+43 0123 4567890
</element3 >
</element1 >
а) Как видит пользователь-читатель.
б) Как видит компьютерная программа.
• На данном рисунке показано, что для программы, имена ex:Person,
ex:email и ex:phone никакого смысла не имеют, а просто являются
узлами документа (такими, же, как и element1, element2, element3).
• Такие имена, как Person, email и phone имеют смысл только
пользователя-человека (немного знающего английский язык),
который в имеет в своей голове некоторую модель, связывающую
эти понятия в большую смысловую сеть.
• Однако компьютер может использовать
только синтаксис таких языков.
• Он не может связать автоматически
информацию таких документов между собой
и выполнять на ее основе какие-либо
логические выводы.
• Т.е. языки XML-технологий не позволяют
описывать формальную семантику
информации.
Символьные модели предметных
областей
• Смысл элементов и их взаимосвязей может быть
определен с помощью создания некоторых символьных
моделей предметных областей, содержащих описания
понятий и взаимосвязей между ними (семантической
модели, онтологии).
• Так как такие модели обычно описывается с помощью
сетевых моделей (например, семантических сетей,
включающих понятия и взаимосвязи между ними), то для
описания семантики информации были предложены:
– язык, использующий единый синтаксис, для описания сетевых
моделей организации данных RDF; данный язык позволяет
описывать информацию в виде взаимосвязанных элементов
данных;
– языки для описания семантики элементов и взаимосвязей,
используемых в RDF-описаниях (словарей, онтологий,
онтологических моделей); к таким языкам относятся RDF Schema
(RDFS) и Ontology Web Language (OWL).
Пример: поиск подходящего эксперта в
NASA


Имеется около 70,000 сотрудников организации NASA, опыт их
работы содержится в 6 или 7 географически разбросанных базах
данных, источниках данных и web-сервисах …
Как найти экспертов для выполнения нового проекта?
Michael Grove, Clark & Parsia, LLC, and Andrew Schain, NASA, (SWEO Case Study)
Что такое Semantic Web?
• В соответствии с Tim Berners-Lee (1998):
“... логически согласованная паутина данных ...” в
которой “... информации задается строго
определенный смысл …”
Что такое Semantic Web?
• В соответствии с Tim Berners-Lee (1998):
“... логически согласованная паутина данных ...” в которой “...
информации задается строго определенный смысл …”
• Теперь это определение развилось в:
“платформа для распределенных приложений и
совместного использования (связывания) данных”
Что такое Semantic Web?
• В соответствии с Tim Berners-Lee (1998):
“... логически согласованная паутина данных ...” в которой
“... информации задается строго определенный смысл …”
• Теперь это определение развилось в:
“платформа для распределенных приложений и
совместного использования (связывания) данных”
– RDF предоставляет универсальную
синтаксическую структуру для данных.
– Онтологии предоставляют схемы, с которыми
могут работать программы.
Технологические уровни
«Semantic Web»
Язык Resource Description Framework
(RDF)
Язык Resource Description Framework
(RDF)
• Язык RDF первоначально был создан в качестве
основанного на XML стандарта описания метаданных.
• Дословно, метаданные это – "данные о данных".
– Например, метаданными называют
• сведения об авторе web-страницы,
• дату очередной публикации в блоге, и т.п.,
• Метаданные можно считать вторичными по
отношению к основному содержанию.
• С момента своего появления RDF расширял рамки
своего назначения.
• Наибольшим обобщением является применение RDF
не только для представления информации о ресурсах в
сети, но также для описания объектов реального мира
и их взаимосвязей: людей, мест, понятий и т.д.
• В настоящее время язык RDF рассматривается,
как универсальный метод разделения знания на
мелкие части (утверждения), в соответствии с
некоторыми правилами, учитывающими
семантику (смысл) этих частей.
• Такой метод должен быть
– достаточно простым, чтобы с его помощью можно
было описать любой факт, и
– достаточно структурированным, чтобы представить
факт в такой форме, в которой компьютерные
приложения смогут осуществлять полезные действия
со знаниями, выраженными в формате RDF.
• Язык Resource Description Framework является
базовой моделью данных (описанием
информации) для всех приложений,
основанных на технологиях Semantic Web.
• Любая информация добавляемая
компонентами более высокого уровня,
например, такими, как RDF Schema и OWL
также описывается с помощью языка RDF.
• Сила языка RDF заключается в простой
базовой модели данных, которая
основывается на множестве RDF утверждений
в форме (S, P, O)
– S – субъект (subject),
– P – предикат (predicate) и
– O – объект (object), аналогично предложениям на
естественном языке (существительное, глагол,
дополнение).
• Такие утверждения также называются
триплетами.
RDF модель данных
• Утверждениями являются триплеты вида <subject, predicate,
object>:
<Ian,hasColleague,Uli>
• Триплеты могут быть представлены в виде графа:
Ian
hasColleague
Uli
Утверждения описывают свойства (properties) ресурсов.
Ресурсом является любой объект, на который можно
сослаться с помощью URI:
– документ, картинка, параграф текста в Web сети;
– http://www.cs.man.ac.uk/index.html
– книга в библиотеке, реальный человек (?)
– isbn://5031-4444-3333
– …
Сами свойства также являются ресурсом (имеют URI
идентификаторы)
RDF триплеты
• Утверждение вида:
Web-сайт http://mysite.ru/ was created by John Scott.
(т.е. «Web-сайт http://scott.com/ был создан John Scott»)
• может быть показано в виде RDF графа:
• Здесь:
– субъект (subject) является ресурсом с URI идентификатором
http://scott.com/,
– предикатом (predicate) dc:creator (свойство описанное в словаре
Dublin Core с URI идентификатором
http://purl.org/dc/elements/1.1/creator),
– объект - текстовая строка “John Scott”.
• С использованием языка RDF/XML показанный
ранее триплет может быть описан следующим
образом:
<rdf:Description rdf:about="http://scott.com/">
<dc:creator> John Scott </dc:creator>
</rdf:Description>
RDF-граф
• В изображениях RDF-графов
– ресурсы обычно показываются в виде эллипсов,
– текстовые строки (литералы) в виде прямоугольников.
• Ребра надписываются (размечаются) URI
идентификаторами предикатов, которые
используются с префиксами пространств имен.
• Каждое ребро описывает высказывание, в
котором
– исходная вершина является субъектом (subject),
– метка ребра является предикатом (predicate), а
– конечная вершина является объектом (object)
высказывания.
Простой пример RDF
(в формате RDF/XML)
<rdf:Description rdf:about="http://.../membership.svg#FullSlide">
<axsvg:graphicsType>Chart</axsvg:graphicsType>
<axsvg:labelledBy rdf:resource="http://...#BottomLegend"/>
<axsvg:chartType>Line</axsvg:chartType>
</rdf:Description>
Простой пример RDF
(в формате Turtle)
<http://.../membership.svg#FullSlide>
axsvg:graphicsType "Chart";
axsvg:labelledBy
<http://...#BottomLegend>;
axsvg:chartType
"Line".
Связывание утверждений
• Субъект одного утверждения может быть объектом для другого
утверждения.
• Такие коллекции утверждений формируют направленный,
размеченный граф.
Ian
hasColleague
Uli
hasColleague
Carole
hasHomePage
http://www.cs.mam.ac.uk/~sa
ttler
• Отметим, что объектом триплета может также быть “литерал”
(строка).
Правила языка RDF
• RDF идентифицирует объекты (things) с помощью Web
идентификаторов (URI) и описывает ресурсы свойствами
(properties) и значения свойств (property values)
• RDF описывает ресурсы свойствами (properties) и
значения свойств (property values).
– Ресурс (resource) это любое понятие, которое может иметь
URI, такое, как например: "http://www.w3schools.com/rdf".
– Свойство (property) это отношение ресурса с другими
ресурсами или различными данными, такие, как "author"
или "homepage".
– Значение свойства (property value) это объект, с которым
связан ресурс (другой ресурс или какое-то данное
стандартного типа). Например, "Jan Egil Refsnes“ или
"http://www.w3schools.com" (note that a property value can be
another resource)
Пример
• Следующий RDF документ может описывать ресурс
"http://www.w3schools.com/rdf":
<?xml version="1.0"?>
<RDF>
<Description about="http://www.w3schools.com/rdf">
<author>Jan Egil Refsnes</author>
<homepage>http://www.w3schools.com</homepage>
</Description>
</RDF>
• Это упрощенный пример, в котором не задано
пространство имен.
Использование URI
• Одним из базовых принципов языка RDF является
использование URI идентификаторов:
– фактически любой объект (ресурс, понятие), который
может быть описан кем-либо в Web сети должен
получить URI идентификатор.
• Данный идентификатор гарантированно является
уникальным (единственным, не повторяемым
для обозначения других ресурсов).
• Чтобы была возможность получать информацию
об этом ресурсе его URI также должен быть
разрешимым, т.е. должна иметься возможность
получить его адрес в Интернет сети для HTTPклиентов.
URI идентификаторы
• URI = Uniform Resource Identifier
• «Обобщенное множество всех имен/адресов,
являющиеся короткими строками, которые являются
ссылками на ресурсы.»
• URLs (Uniform Resource Locators) are a particular type of
URI, used for resources that can be accessed on the WWW
(e.g., web pages)
• В RDF, URI обычно выглядят также, как и “обычные” URL,
часто с идентификатором фрагмента, чтобы указывать
конкретные части документа:
http://www.somedomain.com/some/path/to/file#fragmentID
Узлы ресурсов
• В RDF/XML-документе существует два типа
XML-узлов: узлы ресурсов и узлы свойств:
• Узлы ресурсов являются субъектами и
объектами RDF-утверждений.
– Обычно в XML узлы ресурсов описываются с
помощью элемента rdf:Description, имеющего
атрибут rdf:about, который указывает на
описываемый ресурс.
– Узлы ресурсов содержат внутри себя узлы свойств
(и ничего другого).
• С использованием языка RDF/XML, ранее показанный
триплет, может быть описан следующим образом:
<rdf:Description rdf:about="http://scott.com/">
<dc:creator> John Scott </dc:creator>
</rdf:Description>
– описание отдельного триплета выполняется с помощью
элемента Description языка RDF (для пространства имен
данного языка обычно используется префикс rdf).
– в атрибуте about данного элемента задается URI ресурса,
который описывается.
– в элемент Description вкладывается элемент (или
несколько элементов) описывающий отношение ресурса
определенного в атрибуте about с другими ресурсами
(заданными URI) или с литеральными значениями
(строками текста).
Синтаксис языка RDF
•
•
•
•
RDF имеет XML синтаксис, который имеет специальный смысл:
Каждый элемент Description описывает ресурс.
Каждый атрибут или вложенный подэлемент в элементе Description является
свойством (property) данного Ресурса (Resource).
На ресурсы можно ссылаться с помощью URI:
<Description about="some.uri/person/ian_horrocks">
<hasColleague resource="some.uri/person/uli_sattler"/>
</Description>
<Description about="some.uri/person/uli_sattler">
<hasHomePage>http://www.cs.mam.ac.uk/~sattler</hasHomePage>
</Description>
<Description about="some.uri/person/carole_goble">
<hasColleague resource="some.uri/person/uli_sattler"/>
</Description>
• Рассмотрим более полный пример с описанием института кибернетики
Томского политехнического университета:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:geo="http://www. w3.org/2003/01/geo/wgs84_pos#"
xmlns:edu="http://www.example.org/">
<rdf:Description rdf:about="http://www.tpu.ru">
<geo:lat>40.35</geo:lat>
<geo:long>-74.66</geo:long>
<edu:hasDept
rdf:resource="http://cctpu.edu.ru"/>
</rdf:Description>
<rdf:Description
rdf:about="http://cctpu.edu.ru" >
<dc:title>Cybernetic institute</dc:title>
</rdf:Description>
</rdf:RDF>
Взаимосвязь между RDF n RDFS
Download