Обновление концепций RDF и некоторые онтологии

Познакомьтесь с современными тенденциями всемирная паутина все больше ориентируется на данные

RDF (Resource Description Framework) – это стандартная инфраструктура для Semantic Web и рекомендованная инфраструктура для Linked Data. В предлагаемой статье подробно рассматриваются самые последние обновления спецификации концепций RDF и последствия этих обновлений. Кроме того, в статье рассматриваются спецификации некоторых новых онтологий, таких как онтологии каталогов данных и системы отображения баз данных в RDF.

Дэниел Льюис, специалист по информатике, Vanir Systems

Daniel LewisДэниел Льюис (Daniel Lewis) — независимый британский специалист по информатике, веб-разработчик и автор, работающий от имени компании Vanir Systems. Получил образование в таких областях, как интеллектуальные системы, искусственный интеллект и углубленный анализ данных. Д. Льюис профессионально занимается такими вопросами, как веб-разработка, Semantic Web, Linked Data, архитектура баз данных и пропаганда ИТ-технологий. Он хорошо владеет технологиями RDF, XML и HTML, а также множеством других языков, в том числе PHP, Ruby, Python, Java, SQL, SPARQL. Д. Льюис применяет свои навыки на практике с помощью Virtuoso Universal Server от OpenLink Software.



03.12.2012

Вступление

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

В статье подробно рассматриваются несколько недавних обновлений спецификации концепций RDF, а также несколько новейших онтологий. Статья содержит технические подробности. В качестве базового руководства по RDF я рекомендую статью Уче Огбуджи (Uche Ogbuji) An introduction to RDF (Введение в RDF) на IBM developerWorks или документ RDF Primer (Начальное руководство по RDF) от организации W3C (World Wide Web Consortium) (см. раздел Ресурсы).

RDF и Linked Data

Linked Data — это одно из недавних концептуальных обновлений, имеющих отношение к RDF. Относительно концепция Linked Data имеется множество неверных представлений, особенно в сообществах Linked Data и Semantic Web. Я попытаюсь кратко объяснить эту концепцию читателям, обладающим определенными знаниями веб-технологий. Концепция Linked Data сравнительно легка в усвоении и весьма проста — она напоминает насыщенное "историческое полотно", охватывающее тысячи лет, и фактически базируется на способности человека наблюдать, именовать, исследовать и описывать объекты реального мира.

Для понимания объектов Linked Data сначала необходимо понять объекты данных и распределенные объекты данных. Объекты данных— это именованные (помеченные) описания (инкапсуляции) наблюдений (объектов). Распределенные объекты данных— это объекты данных, для которых идентификаторы действуют как ключ для сетевого доступа. Это похоже на обращение к какому-либо человеку по имени или, в более техническом смысле, на использование первичного ключа (в терминологии баз данных) для доступа по сети.

Объекты Linked Data— это распределенные объекты данных, имеющие стилистически единообразные идентификаторы. Другими словами, идентификатор любого объекта Linked Data имеет такую же форму и такой же стиль, как и идентификатор любого другого объекта Linked Data. Хороший пример — использование IRI-идентификатора (Internationalized Resource Identifier) протокола HTTP (Hypertext Transfer Protocol) в качестве единообразного стиля идентификаторов. В качестве примера рассмотрим телевизионную программу Doctor Who, которая имеет следующий идентификатор: http://www.bbc.co.uk/programmes/b006q2x0. Это и есть идентификатор Linked Data для программы Doctor Who. С помощью протокола HTTP вы можете разыменовать этот идентификатор, то есть использовать его в качестве указателя для извлечения подробностей об этом веб-сайте по протоколу HTTP. Вы также можете использовать этот идентификатор как ссылку в своем хранилище данных. В качестве примера предположим, что вы пишете некие личные заметки о телесериале Doctor Who и хотите сохранить эти заметки для последующего использования. Вы в буквальном смысле слова "присоединяете" эти заметки к идентификатору http://www.bbc.co.uk/programmes/b006q2x0 в своем хранилище персональных данных. Обратите внимание, что все это происходит в вашем хранилище данных, а не в хранилище British Broadcasting Corporation (BBC). Ваши заметки — это ваши данные, а описание самой телепрограммы размещается на сайте BBC.

Распространенное заблуждение о концепции Linked Data состоит в том, что она требует представления данных в одном из RDF-форматов (например, Turtle, RDF/XML, RDFa, N3). Это предположение, вне всякого сомнения, является неправильным. Вполне достаточно, чтобы данные были представлены в формате пригодного для разыменования URI (Uniform Resource Identifier) или IRI, т. е. идентификатора доступного объекта в формате идентификатора сетевого ресурса от W3C или IETF (Internet Engineering Task Force). Другими словами, объекты Linked Data вполне можно описывать с помощью RDF, но при этом необходимо помнить, что Linked Data не требует обязательного использования RDF.

Онтологии

Для RDF существует большое количество т.н. онтологий. Обычно они определяются с помощью языка OWL (Web Ontology Language) или, что проще, с помощью системы RDFS (RDF Schema). Онтологии применяются для определения самых разных вещей, например:

  • Онтология SIOC (Semantically-Interlinked Online Communities Project) определяет, что представляет собой сообщение блога.
  • Онтология MOAT (Meaning Of A Tag) и онтология SKOS (Simple Knowledge Organization System) определяют, как теги могут быть связаны друг с другом.
  • Онтология FOAF (Friend of a Friend) определяет, какие свойства ассоциированы с профилем пользователя.

Порядок разработки онтологий выходит за рамки этой статьи. Для желающих подробнее узнать об онтологиях имеется хорошее учебное пособие по созданию онтологий с помощью языка OWL (IBM developerWorks, авторы Майкл Митри и Николас Чейз). В разделе Ресурсы содержатся ссылки на это, а также на другие учебные пособия и статьи.

Обновления концепций RDF

Назначение документа "Концепции RDF" состоит в описании правил RDF-моделирования, т. е., логических сложностей, скрывающихся за довольно простой троичной структурой (триплетом) типа "субъект-предикат-объект" и более новой квадратичной структурой "граф-субъект-предикат-объект", которую в настоящее время предлагают многие современные хранилища данных.

Сравнение версий 1.0 и 1.1 спецификации

Рекомендательный документ RDF Concepts and Abstract Syntax 1.0 (RDF: концепции и абстрактный синтаксис) 2004 года и рабочий проект 2011 года имеют множество различий. Важнейшие из этих различий: отделение RDF от RDF/XML, явное использование методики BCP 47 (Best Current Practice) для языковых кодов, использование Unicode-совместимых IRI-идентификаторов вместо ASCII-совместимых URI-идентификаторов, предпочтение IRI-идентификаторов типа Skolem неименованным пустым вершинам, удаление литерального типа XML (Extensible Markup Language) из концепций RDF. Большая часть остальных изменений связана с уточнением спецификации, а также с семантическим и прагматическим развитием используемого языка. Более обширный список изменений, внесенных в версию 2004 года, содержится в рабочем проекте 2011 года. Несомненно, последствия этих изменений более интересны, чем сами изменения, описанные ниже.

Последствия документа RDF Concepts and Abstract Syntax 1.1

Имейте в виду, что на момент написания этой статьи спецификация RDF Concepts 1.1 имела статус рабочего проекта, поэтому некоторые из включенных в нее концепций могут не войти в опубликованную итоговую спецификацию. Тем не менее она отражает современное состояние идей и типовых методик в соответствующей области. Кроме того, необходимо учитывать, что этот документ посвящен концепциям RDF, поэтому в нем описываются именно концепции, а не какие-либо конкретные форматы. Рабочая группа RDF Working Group организации W3C должна к февралю 2013 года завершить свои проекты по модернизации концепций RDF, RDFS, Turtle, RDF/XML и RDF/JSON.

Воспользовавшись моей сводкой различий между концепциями RDF, вы сможете увидеть, что разработчики сообщества Semantic Web используют инфраструктуру RDF в качестве инфраструктуры моделирования (как ее и следует использовать) и отделяют эту инфраструктуру от ее форматов (XML, Turtle и т. д.). Это изменение открывает возможности для будущих разработок и для использования других форматов в интересах RDF-модели. Кроме того, это изменение позволяет разработчику использовать любой формат — наиболее удобный или наиболее подходящий для конкретного разрабатываемого им программного обеспечения или веб-приложения. Кроме того, это позволяет преобразовывать сторонние сервисы и библиотеки из одного формата в другой без логических проблем.

Организация W3C всегда ориентировалась на использование международного набора символов — неслучайно в ее названии имеются слова World Wide ("всемирная"). Таким образом, необходимо продолжение использования кодировки Unicode во всех инфраструктурах и форматах RDF. Как результат, имеет место переход от версии Unicode v3 на версию Unicode v4 в спецификации, а также стремление использовать IRI-идентификаторы на базе Unicode вместо URI-идентификаторов на базе ASCII.

Концепция пустой вершины (blank node) — это весьма сложный элемент теории Semantic Web, в результате чего в каждом хранилище данных он реализован по-своему и нередко не единообразным образом. "Сколемизация" (skolemization) базируется на теории формальной логики; IRI-идентификаторы Сколема (Skolem) были предложены в качестве унифицированной системы для генерации IRI-идентификаторов, уникальных в глобальном масштабе. Эта концепция по-прежнему является предметом масштабных обсуждений; некоторые серьезно обеспокоены использованием имени Сколема (норвежского специалиста по математической логике и теории множеств) из-за его связи с математикой и возможной концептуальной нагрузки. Самый важный аспект этого раздела — нежелательность использования пустых вершин при создании данных, манипулировании данными и предоставлении данных.

И еще одно важное следствие упомянутого выше рабочего проекта — признание того, что литеральные значения (т.е., обычные текстовые значения) в RDF до некоторой степени связаны с типом "литеральные XML-данные". Основная цель состоит в полном избавлении RDF от фактической и символической зависимости от XML-сериализации, в связи с чем необходимо избавить RDF от литерального типа XML-данных. Рабочая группа RDF Working Group еще не завершила подробную разработку того, как будут выглядеть простые RDF-литералы. Тем не менее литералы в версии RDF 1.1 скорее всего не будут сильно отличаться от литералов в версии RDF 1.0, за исключением того, что разработчики должны использовать языковые теги BCP 47 при задании языка для того или иного литерала (напр., тег en для стандартного английского языка или тег zh_Hant для мандаринского диалекта китайского языка в традиционном написании).

Некоторые недавно появившиеся онтологии

Вторая часть данной статьи представляет собой краткий обзор нескольких недавно разработанных и весьма важных онтологий. Эти онтологии потенциально способны изменить "правила игры" в будущей сети на основе Linked Data. Я разделил их на онтологии каталогов данных и системы отображения баз данных в RDF-данные.

Онтологии каталогов данных

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

Онтология VoID (Vocabulary of Interlinked Datasets) создана с использованием RDFS. Она описывает наборы данных или, точнее, позволяет наборам данных предоставлять метаданные к своим данным. Эти метаданные разделены на следующие четыре области.

  • Общие метаданные (на основе стандарта Dublin Core)
  • Метаданные доступа (определяют, как подключиться к набору данных и получить определенные данные)
  • Структурные метаданные (подробности используемых схем, запросы к наборам данных, примеры интеграции с набором данных)
  • Описание связей между наборами данных, что фактически позволяет создавать метки между наборами ссылок (linkset), т. е., по существу, распределенные графы

Data Catalog Vocabulary (dcat) — это простая онтология, созданная с использованием RDFS. Ее можно использовать для описания коллекций наборов данных. Онтология dcat призвана обеспечить совместимость каталогов. Традиционно она описывает наборы данных правительственных учреждений. Правительственные данные нередко могут быть представлены в различных форматах, что затрудняет обращение с запросами к этим данным. Онтология dcat предоставляет метаданные о содержащихся данных, об имеющихся форматах этих данных, а также разнообразные другие метаданные концептуального и организационного характера.

Системы отображения базы данных в RDF-данные

Реляционные базы данных (RDBMS) традиционно используются в программных системах и в системах веб-приложений. Во многих случаях перейти от реляционной структуры RDBMS к объектно-ориентированной RDF-структуре может быть весьма трудно.

Язык R2RML (RDB to RDF Mapping Language) предназначен для описания отображений из реляционной базы данных в набор RDF-данных. Для осуществления этих отображений спецификация R2RML использует сериализацию RDF/Turtle. Основная идея состоит в том, чтобы сделать это отображение максимально прямым и простым. Например, мощные возможности этой формы отображения позволяют пользователю задействовать SPARQL для запросов к реляционной базе данных — традиционно это было возможно лишь с использованием языка SQL (Structured Query Language). Кроме того, она обеспечивает связывание на уровне строк реляционных баз данных в сети Linked Data. Это концепция обладает весьма мощными возможностями; она устраняет необходимость в создаваемом вручную связующем уровне и фактически "на лету" представляет реляционные данные в виде RDF-данных. R2RML позволяет с легкостью перевести все закрытые реляционные базы данных в режим с поддержкой сетевого доступа.

По умолчанию язык R2RML осуществляет прямое отображение реляционной базы данных (RDB — Relational database direct mapping). Цель состоит в предоставлении простого механизма для преобразования таблиц реляционной базы данных в коллекцию RDF-данных. Этот подход позволяет с помощью RDF осуществлять инъекцию данных в таблицу реляционной базы данных и извлекать данные из таблицы реляционной базы данных в RDF. RDB-отображение для каждой таблицы предоставляет простые ориентированные графы, а более мощная система R2RML позволяет отображать таблицы в более продвинутые RDF-модели.

Заключение

В заключение можно отметить, что концепция RDF достигла уровня зрелости. Спецификация 1.0 концепции RDF была выпущены в 2004 г., однако инфраструктура RDF была в центре внимания организации W3C начиная с 1999 г. Концепции RDF имеют ключевое значение для теории Linked Data, которая имеет свою историю в области формальной логики и в естественном процессе именования вещей. Спецификация 1.1 концепций RDF содержит множество долгожданных обновлений, самое важное из которых — отделение RDF/XML от RDF. Многие другие обновления из нынешнего проекта спецификации будут полезны для интеграционных и семантических усовершенствований. Вне всякого сомнения, в спецификацию 1.1 будут включены дополнительные концепции.

Концепции RDF — это далеко не единственное достижение в мире RDF. Так, было выпущено множество впечатляющих онтологий, в том числе онтологии VoID и dcat для каталогизации онтологий, а также R2RML и RDF для отображения баз данных. По мере того как все большее число онтологий достигает степени зрелости, они реализуются посредством различных веб-приложений — как коммерческих, так и с открытым исходным кодом.

С реализацией концепции Linked Data в сети нас ждут интересные времена. Некоторые долгожданные изменения — отделение Linked Data от Semantic Web, отделение RDF от RDF/XML и улучшение общего понимания распределенных данных и интернационализированных данных. Для реализации этих изменений имеются необходимые концепции, инфраструктуры, онтологии и технологии. Пришло время применить их на практике.

Ресурсы

  • Оригинал статьи: An update on RDF concepts and some ontologies.
  • An introduction to RDF (Введение в RDF), Уче Огбуджи (Uche Ogbuji), developerWorks, декабрь 2000 г. Хорошее базовое введение в RDF, в частности в синтаксис RDF/XML.
  • RDF Primer (Начальное руководство по RDF), W3C, февраль 2004 г. Базовые сведения по описанию объектов в RDF. Имейте в виду, что примеры представлены в RDF/XML.
  • RDF Concepts and Abstract Syntax (RDF: концепции и абстрактный синтаксис), W3C, февраль 2004 г. В документе излагаются концептуальные аспекты RDF. Я использую этот документ при сравнении концепций RDF в версии 1.0/2004 и в версии 1.1/2011.
  • RDF 1.1 Concepts and Abstract Syntax (RDF 1.1: концепции и абстрактный синтаксис), W3C, август 2011 г. В документе излагаются концептуальные аспекты RDF. Я использую этот документ при сравнении концепций RDF в версии 1.0/2004 и в версии 1.1/2011.
  • DCAT Vocabulary Overview (Обзор онтологии DCAT Vocabulary Overview), DERI, март 2010 г. В документе излагаются концептуальные аспекты Data Catalog Vocabulary.
  • VoID Vocabulary Overview (Обзор онтологии VoID Vocabulary), DERI, март 2010 г. В документе излагаются концептуальные аспекты Vocabulary of Interlinked Datasets.
  • R2RML: RDB to RDF Mapping Language (R2RML: язык отображения RDB в RDF), W3C, сентябрь 2011 г. Концепции и синтаксис для отображения реляционных баз данных в структуры RDF-данных.
  • A Direct Mapping of Relational Data to RDF (Прямое отображение реляционных данных в RDF), W3C, сентябрь 2011 г. Концепции и синтаксис для отображения таблиц реляционных баз данных непосредственно в структуры RDF-данных.
  • Веб-сайт FOAF Project. Дополнительные сведения по онтологии Friend of a Friend, которая обычно используется для описания профилей и отношений пользователей.
  • Начальная страница SKOS. Портал с подробными сведениями по онтологии SKOS, которая обычно используется для быстрого и простого описания концепций знаний.
  • Веб-сайт MOAT. Подробные сведения по онтологии MOAT, которая используется для быстрого и простого описания отношений между тегами в онлайновых системах тегирования. Имеется даже Drupal-плагин, реализующий онтологию MOAT в системе Drupal Taxonomy System, что позволяет применить более осмысленное или семантическое тегирование.
  • Веб-сайт SIOC. Подробные сведения по онтологии SIOC, которая обычно используется для описания отношений между социальными сетевыми системами.
  • Инициатива Dublin Core Metadata Initiative. Давно существующая рабочая группа по проектированию метаданных и типовых методик. Первоначально эта группа помогала добавлять метаданные в язык HTML, а в настоящее время она предоставляет онтологию для RDF. Dublin Core Metadata описывает базовые авторские и контекстные метаданные в онлайновых документах.
  • RDF Vocabulary Description Language 1.0: RDF Schema, W3C, февраль 2004 г. Спецификация RDFS — базовой системы "онтология/схема" для описания типов данных (т. е., классов) в RDF.
  • OWL, W3C, октябрь 2009 г. Спецификации мощной системы "онтология/схема" для логически стройного описания типов данных (т. е., классов) в RDF.
  • The ultimate mashup -- Web services and the semantic Web, Part 4: Create an ontology, Michel Mitri и Nicholas Chase, developerWorks, март 2007 г. В статье описывается создание онтологий для последующего использования в RDF.
  • The Спецификация BCP 47, сентябрь 2009 г. Документ содержит сведения по структуре, контенту, конструированию и семантике языковых тегов.
  • Toward a Basic Profile for Linked Data: A collection of best practices and a simple approach for a Linked Data architecture, Martin Nally и Steve Speicher, developerWorks, декабрь 2011 г. Коллекция типовых методик и простых подходов для архитектуры Linked Data. Несмотря на значительный интерес к использованию Linked Data для извлечения новой информации из существующей информации, по этой тематике имеется лишь небольшое количество руководств. Данная статья предоставляет вводные сведения по данной тематике, а затем описывает предложение по базовому профилю для Linked Data.
  • Другие статьи этого автора (Daniel J. Lewis, developerWorks, с октября 2008 г. по настоящее время). Статьи по Semantic Web, Linked Data, PHP, CSS, ODBC и другим технологиям.
  • Материалы developerWorks в Твиттере: следите за сообществом developerWorks

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=XML, Web-архитектура
ArticleID=848228
ArticleTitle=Обновление концепций RDF и некоторые онтологии
publish-date=12032012