Resource Description Framework
Resource Description Framework (RDF, «среда описания ресурса»[1]) — это разработанная консорциумом Всемирной паутины модель для представления данных, в особенности — метаданных[2]. RDF представляет утверждения о ресурсах в виде, пригодном для машинной обработки. RDF является частью концепции семантической паутины.
Ресурсом в RDF может быть любая сущность — как информационная (например, веб-сайт или изображение), так и неинформационная (например, человек, город или некое абстрактное понятие). Утверждение, высказываемое о ресурсе, имеет вид «субъект — предикат — объект» и называется триплетом[1]. Утверждение «небо голубого цвета» в RDF-терминологии можно представить следующим образом: субъект — «небо», предикат — «имеет цвет», объект — «голубой». Для обозначения субъектов, отношений и объектов в RDF используются URI.
Множество RDF-утверждений образует ориентированный граф, в котором вершинами являются субъекты и объекты, а рёбра отображают отношения.
RDF сам по себе является не форматом файла, а только лишь абстрактной моделью[2] данных, то есть описывает предлагаемую структуру, способы обработки и интерпретации данных. Для хранения и передачи информации, уложенной в модель RDF, существует целый ряд форматов записи.
Для обработки RDF-данных предлагается реализовать языки запросов: SPARQL (стандарт W3C), RQL, RDQL.
История
История появления RDF имеет своё начало в 1990 году, когда Тим Бернерс-Ли предложил отмечать типы ссылок между документами для облегчения автоматической обработки. Типы ссылок однако не были включены в первую спецификацию HTML, но идея была подхвачена в системе описания метаданных MCF. Обобщённое представление метаданных нашло отражение в рекомендации W3C по RDF в 1999 году. С тех пор стандарты RDF развиваются, появляются новые средства для работы с RDF[3].
Набор стандартов
С 10 февраля 2004 года RDF имеет статус стандарта W3C. С 25 февраля 2014 принят стандарт RDF 1.1.
Перечень стандартов, имеющих отношение к RDF (см. http://www.w3.org/TR/):
- 2015 год:
- Linked Data Platform 1.0 (англ.) — Введение в Linked Data, описание предлагаемых подходов к использованию RDF в сети Интернет.
- Формат представления RDFa
- RDFa Core 1.1 - Third Edition (англ.) — Описание основ синтаксиса «RDFa» для RDF 1.1
- RDFa Lite 1.1 - Second Edition (англ.) — Описание облегчённого синтаксиса «RDFa Lite» для RDF 1.1
- HTML+RDFa 1.1 - Second Edition (англ.) — Особенности синтаксиса «RDFa» в HTML для RDF 1.1
- XHTML+RDFa 1.1 - Third Edition (англ.) — Особенности синтаксиса «RDFa» в XHTML для RDF 1.1
- 2014 год:
- Модель данных RDF 1.1:
- RDF 1.1 Concepts and Abstract Syntax (англ.) — Понятия и абстрактный синтаксис RDF 1.1
- RDF Schema 1.1 (англ.) — Словарь RDF 1.1
- RDF 1.1 Semantics (англ.) — Семантика RDF 1.1
- Форматы представления:
- RDF 1.1 XML Syntax (англ.) — Описание синтаксиса «RDF/XML» для RDF 1.1
- RDF 1.1 Turtle (англ.) — Описание синтаксиса «Turtle» для RDF 1.1
- RDF 1.1 N-Triples (англ.) — Описание синтаксиса «N-Triples» для RDF 1.1
- RDF 1.1 N-Quads (англ.) — Описание синтаксиса «N-Quads» для RDF 1.1
- RDF 1.1 TriG (англ.) — Описание синтаксиса «TriG» для RDF 1.1
- JSON-LD 1.0 (англ.) — Описание синтаксиса «JSON-LD», представление RDF-данных в формате JSON
- JSON-LD 1.0 Processing Algorithms and API (англ.) — Описание алгоритмов обработки и их API для RDF-данных, представленных в форме «JSON-LD»
- Прикладные словари и онтологии
- Data Catalog Vocabulary (DCAT) (англ.) — онтология понятий в области описания опубликованного в сети каталога информации и содержащихся в нём наборов данных
- The RDF Data Cube Vocabulary (англ.) — онтология понятий в области описания многомерных наборов данных
- The Organization Ontology (англ.) — онтология понятий в области описания структуры организаций
- Модель данных RDF 1.1:
- 2013 год:
- SPARQL 1.1
- Rule Interchange Format
- RIF RDF and OWL Compatibility (Second Edition) (англ.) — использование с RDF рекомендуемого W3C подхода к описанию и выполнению правил
- Связанные стандарты
- 2012 год:
- Web Ontology Language
- rdf:PlainLiteral: A Datatype for RDF Plain Literals (Second Edition) (англ.)
- Отражение реляционных данных в RDF:
- A Direct Mapping of Relational Data to RDF (англ.) — прямое
- R2RML: RDB to RDF Mapping Language (англ.) — гибкое
- Use Cases and Requirements for Mapping Relational Databases to RDF (англ.) — исходные примеры применения и требования, 2010 год
- Ontology for Media Resources 1.0 (англ.) — онтология для описания медиа-ресурсов
- 2008 год:
- SPARQL 1.0
- 2004 год:
- Resource Description Framework (RDF): Concepts and Abstract Syntax (англ.) — Понятия и абстрактный синтаксис RDF 1.0
- RDF Semantics (англ.) — Семантика RDF 1.0
- RDF Test Cases (англ.) — Набор тестовых данных RDF
- RDF Primer (англ.) — Введение в RDF
Также есть множество черновиков и заметок, среди которых есть Linked Data Glossary (англ.) — глоссарий всех понятий, связанных с RDF.
Форматы представления
Для записи и передачи RDF используется несколько форматов, в том числе:
Семантика
RDF предоставляет средства для построения информационных моделей, но не касается семантики описываемого. Взятый в отдельности граф RDF можно понимать только как граф. Толкование значения основывается на способности пользователей RDF интерпретировать отдельные URI, строковые литералы и структуру графа, и по ним интерпретировать остальные URI и семантику данных.
Для выражения семантики требуются словари (англ. vocabularies), таксономии (англ. taxonomies) и онтологии (англ. ontologies) и наличие в рассматриваемом графе связей с ними.
- Словарь представляет собой собрание терминов, имеющих во всех контекстах использования этого словаря одинаковый смысл.
- Таксономия — это словарь иерархически организованных терминов.
- Онтология использует предопределённый зарезервированный словарь терминов для определения концепций и отношений между ними для конкретной предметной области. Онтологии можно использовать для выражения семантики терминов словаря, их взаимоотношений и контекстов использования.
Большинство словарей для описываемых субъектов не только содержит предикаты и объекты, но и подразумевает для них ту или иную семантическую нагрузку, не укладывающуюся как правило в собственно RDF-представление словаря. Это могут быть способы использования тех или иных конкретных субъектов, правила, ограничения, рекомендации, обоснования необходимости использования именно их, и т. п. Как правило, это описывается в сопроводительной документации к словарю.
RDF Schema
RDF Schema предоставляет собой словарь для RDF, который используется, в основном, при описании других словарей. RDF Schema:
- декларирует существование ресурсов, среди которых отдельно выделяет литералы разных типов данных, в том числе строк с указанием языка, строк с XML-или HTML-разметкой;
- декларирует существование классов ресурсов и их подклассов;
- декларирует существование свойств, которые относятся к ресурсам определённого класса, могут объектами иметь ресурсы конкретных классов, и могут быть более узко осмысленным вариантом более общего свойства;
- декларирует существование таких часто используемых свойств как «наименование», «описание», «ресурс-синоним», и некоторых других;
- описывает классы и свойства, позволяющие организовать в модели RDF три вида списков;
- описывает классы и свойства, нужные для реификации (от англ. reification, воплощение) — обеспечения возможности записи триплетов, объектом и субъектом которых являются триплеты.
Описание дополнительной семантической нагрузки этого словаря расположено во всех трёх основных стандартах RDF — в описании концепций RDF (англ.), в описании самого словаря (англ.), и в описании семантики RDF (англ.).
В частности, в описании семантики RDF говорится, что словари могут лишь подразумевать, но не содержать в явном виде триплеты, которые можно получить из остальных триплетов словаря путём исполнения ряда определённых для словаря формальных правил, следующих из семантики используемых словарём понятий. И приведён перечень правил, подразумеваемых словарём RDF Schema.
RDF-хранилища
Для хранения RDF-данных используются два основных вида хранилищ: специализированные (native, «родные», «нативные») и не специализированные (non-native). Специализированные хранилища позволяют достичь большей степени оптимизации, но более трудоёмки в проектировании, так как строятся специально для работы с RDF. Остальные хранилища более просты в проектировании (например, за счёт использования механизмов реляционных СУБД или решений NoSQL), но менее оптимизированы под работу с RDF. Специализированные хранилища делятся по способности оперировать с данными, лишь целиком находящимися в оперативной памяти (in-memory) или же способные использовать и внешнюю память (например, жёсткий диск)[6].
Системы для работы с RDF разрабатываются как в рамках исследований, так и для производственного использования. К основным специализированным хранилищам, пригодным для производственного использования, относятся[6]:
- OpenLink Virtuoso
- Stardog
- Blazegraph (ранее Bigdata)
- GraphDB (ранее OWLIM)
- RDF4J (ранее Sesame)
- Apache Jena
- Allegrograph
- 4Store
Применение
Оформление баз знаний или представления их данных в рамках различных проектов в множестве институтов, университетов и иных организаций. В основном, в научно-исследовательских целях.
Поисковые системы предлагают веб-мастерам использовать RDF и аналогичные языки разметки страниц для повышения информативности ссылки на их сайт в результатах поиска.
Социальные сети, с подачи Facebook (opengraph), предлагают веб-мастерам использовать RDF для описания свойств страниц, так же позволяющих красиво оформить ссылку на неё в записи пользователя социальной сети.
В форме RSS 1.0, формат RDF широко используется для краткого представления перечня новых записей на периодически пополняющихся сайтах типа блогов, новостных лент или интернет-журналов.
Кроме вышеперечисленного, в формате RDF представляют данные для анализа и/или интеграции в информационных системах предприятий, что даёт возможность исследовать их при помощи SPARQL (проект D2RQ, например), а при опоре на отраслевой стандарт, например, ISO 15926 позволяет унифицированно обмениваться данными различных предприятий на уровне отрасли.
Использование RDF увеличилось с появлением представления RDF в виде JSON-LD и распространением Linked Data. Например, Google принимает во внимание семантическое описание страницы в одном из RDF-форматов (и с использованием словаря Schema.org) и использует его для более подробного описания результатов поиска[7].
Форматы
- RSS (версий 0.9, 1.0)
- FOAF
- SIOC
- DOAP
- Extensible Metadata Platform (XMP)
Примечания
- Среда Описания Ресурса (RDF): Понятия и Абстрактный Синтаксис
- RDF Primer (англ.) (недоступная ссылка). Консорциум Всемирной паутины (10 февраля 2004). — Рекомендация W3C, информативное введение в RDF. Дата обращения: 22 ноября 2009. Архивировано 2 июня 2012 года.
- Segaran, Evans, Taylor, 2009, pp. 63-64.
- Шон Палмер. Notation3: A Rough Guide to N3 (англ.) (недоступная ссылка). — Введение в Notation3. Дата обращения: 22 ноября 2009. Архивировано 2 июня 2012 года.
- Hebeler, Fisher, Blace, Perez-Lopez, 2009, pp. 98-100.
- Curé, Blin, 2014, Chapter V.
- Event Markup: Official Performer Sites
Литература
- Toby Segaran, Colin Evans, Jamie Taylor. Programming the Semantic Web. — O’Reilly Media, 2009. — 302 с. — ISBN 978-0-596-15381-6.
- John Hebeler, Matthew Fisher, Ryan Blace, Andrew Perez-Lopez. Semantic Web Programming. — John Wiley & Sons, 2009. — 648 с. — ISBN 9780470418017.
- Olivier Curé, Guillaume Blin. RDF Database Systems. — Morgan Kaufmann, 2014. — 256 с. — ISBN 978-0-12-800470-8.