Resource Description Framework: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
дополнение
м стилевые правки
 
(не показано 30 промежуточных версий 12 участников)
Строка 1: Строка 1:
{{Технологический стандарт}}
'''{{lang|en|Resource Description Framework}}''' (RDF, «среда описания ресурса»<ref name="rdf_concepts_ru">[http://www.w3.org/2007/03/rdf_concepts_ru/ Среда Описания Ресурса (RDF): Понятия и Абстрактный Синтаксис]</ref>) — это разработанная [[консорциум Всемирной паутины|консорциумом Всемирной паутины]] модель для представления данных, в особенности — [[Метаданные|метаданных]]<ref name="w3c-rdf-primer">{{cite web
'''{{lang|en|Resource Description Framework}}''' (RDF, «среда описания ресурса»<ref name="rdf_concepts_ru">{{Cite web |url=http://www.w3.org/2007/03/rdf_concepts_ru/ |title=Среда Описания Ресурса (RDF): Понятия и Абстрактный Синтаксис |access-date=2012-08-11 |archive-date=2014-03-02 |archive-url=https://web.archive.org/web/20140302090557/http://www.w3.org/2007/03/rdf_concepts_ru/ |deadlink=no }}</ref>) — это разработанная [[консорциум Всемирной паутины|консорциумом Всемирной паутины]] модель для представления данных, в особенности — [[Метаданные|метаданных]]<ref name="w3c-rdf-primer">{{cite web
| datepublished = 10 февраля 2004
| url = http://www.w3.org/TR/rdf-primer/
|datepublished = 2004-02-10
|url = http://www.w3.org/TR/rdf-primer/
| title = RDF Primer
|title = RDF Primer
| publisher = [[Консорциум Всемирной паутины]]
|publisher = [[Консорциум Всемирной паутины]]
| accessdate = 2009-11-22
|accessdate = 2009-11-22
| lang = en
|lang = en
| description = Рекомендация W3C, информативное введение в RDF
|description = Рекомендация W3C, информативное введение в RDF
| archiveurl = http://www.webcitation.org/686waxO2I
|archiveurl = https://www.webcitation.org/686waxO2I?url=http://www.w3.org/TR/rdf-primer/
| archivedate = 2012-06-02
|archivedate = 2012-06-02
|deadurl = yes
}}</ref>. RDF представляет ''утверждения'' о ''ресурсах'' в виде, пригодном для машинной обработки. RDF является частью концепции [[семантическая паутина|семантической паутины]].
}}</ref>.
== Описание ==
RDF представляет ''утверждения'' о ''ресурсах'' в виде, пригодном для машинной обработки. RDF является частью концепции [[семантическая паутина|семантической паутины]].


Ресурсом в RDF может быть любая сущность — как информационная (например, веб-сайт или изображение), так и неинформационная (например, человек, город или некое абстрактное понятие). Утверждение, высказываемое о ресурсе, имеет вид «субъект — предикат — объект» и называется '''''триплетом'''''<ref name="rdf_concepts_ru" />. Утверждение «небо голубого цвета» в RDF-терминологии можно представить следующим образом: субъект — «небо», предикат — «имеет цвет», объект — «голубой». Для обозначения субъектов, отношений и объектов в RDF используются [[URI]].
Вид данных в ресурсе в RDF может быть любой — как информационной (например, веб-сайт или изображение), так и неинформационной (например, человек, город или некое абстрактное понятие). Утверждение, высказываемое о ресурсе, имеет вид «субъект — предикат — объект» и называется '''''триплетом'''''<ref name="rdf_concepts_ru" />. Утверждение «небо голубого цвета» в RDF-терминологии можно представить следующим образом: субъект — «небо», предикат — «имеет цвет», объект — «голубой». Для обозначения субъектов, отношений и объектов в RDF используются [[URI]].[[Файл:RDF-triplet.png|thumb|Триплет RDF]]
[[Файл:RDF-triplet.png|thumb|Триплет RDF]]


Множество RDF-утверждений образует ориентированный [[граф (математика)|граф]], в котором вершинами являются субъекты и объекты, а рёбра отображают отношения.
Множество RDF-утверждений образует ориентированный [[граф (математика)|граф]], в котором вершинами являются субъекты и объекты, а рёбра отображают отношения.

RDF сам по себе является не [[формат файла|форматом файла]], а только лишь абстрактной моделью<ref name="w3c-rdf-primer"/> данных, то есть описывает предлагаемую структуру, способы обработки и интерпретации данных. Для хранения и передачи информации, уложенной в модель RDF, существует целый ряд форматов записи.

Для обработки RDF-данных предлагается реализовать языки запросов: [[SPARQL]] (стандарт [[консорциум Всемирной паутины|W3C]]), [[RQL]], [[RDQL]].


== История ==
== История ==
История появления RDF имеет своё начало в [[1990 год]]у, когда [[Бернерс-Ли, Тим|Тим Бернерс-Ли]] предложил отмечать типы ссылок между документами для облегчения автоматической обработки. Типы ссылок однако не были включены в первую спецификацию [[HTML]], но идея была подхвачена в системе описания [[метаданные|метаданных]] [[Метаконтент_Framework|MCF]]. Обобщённое представление метаданных нашло отражение в рекомендации [[Консорциум Всемирной паутины|W3C]] по RDF в [[1999 год]]у. С тех пор стандарты RDF развиваются, появляются новые средства для работы с RDF{{sfn|Segaran, Evans, Taylor|2009|pp=63-64}}.
История появления RDF имеет своё начало в [[1990 год]]у, когда [[Бернерс-Ли, Тим|Тим Бернерс-Ли]] предложил отмечать типы ссылок между документами для облегчения автоматической обработки. Типы ссылок, однако, не были включены в первую спецификацию [[HTML]], но идея была подхвачена в системе описания [[метаданные|метаданных]] [[Метаконтент_Framework|MCF]]. Обобщённое представление метаданных нашло отражение в рекомендации [[Консорциум Всемирной паутины|W3C]] по RDF в [[1999 год]]у. С тех пор стандарты RDF развиваются, появляются новые средства для работы с RDF{{sfn|Segaran, Evans, Taylor|2009|pp=63-64}}.


== Набор стандартов ==
== Набор стандартов ==
С 10 февраля [[2004 год]]а следующие разделы имеют статус стандартов<ref>[http://www.w3.org/standards/techs/rdf Статус W3C стандартов RDF]</ref>:
С 10 февраля [[2004 год]]а RDF имеет статус стандарта W3C. С 25 февраля 2014 принят стандарт RDF 1.1.

* Среда описания ресурса (RDF): понятия и абстрактный синтаксис ({{lang-en|Resource Description Framework (RDF): Concepts and Abstract Syntax}});
Перечень стандартов, имеющих отношение к RDF (см. http://www.w3.org/TR/):
* Семантика RDF ({{lang-en|RDF Semantics}});

* Информативное введение в RDF ({{lang-en|RDF Primer}});
* 2015 год:
* Язык описания словарей RDF ({{lang-en|RDF Vocabulary Description Language 1.0: RDF Schema}});
** {{lang-en2|[http://www.w3.org/TR/ldp/ Linked Data Platform 1.0]}}{{ref-en}} — Введение в [[Linked data|Linked Data]], описание предлагаемых подходов к использованию RDF в сети Интернет.
* Описание синтаксиса RDF/XML (пересмотренное)({{lang-en|RDF/XML Syntax Specification (Revised)}});
** Формат представления RDFa
* Набор тестовых данных RDF ({{lang-en|RDF Test Cases}}).
*** {{lang-en2|[http://www.w3.org/TR/rdfa-core/ RDFa Core 1.1 - Third Edition]}}{{ref-en}} — Описание основ синтаксиса «RDFa» для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/rdfa-lite/ RDFa Lite 1.1 - Second Edition]}}{{ref-en}} — Описание облегчённого синтаксиса «RDFa Lite» для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/html-rdfa/ HTML+RDFa 1.1 - Second Edition]}}{{ref-en}} — Особенности синтаксиса «RDFa» в HTML для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/xhtml-rdfa/ XHTML+RDFa 1.1 - Third Edition]}}{{ref-en}} — Особенности синтаксиса «RDFa» в XHTML для RDF 1.1
* 2014 год:
** Модель данных RDF 1.1:
*** {{lang-en2|[http://www.w3.org/TR/rdf11-concepts/ RDF 1.1 Concepts and Abstract Syntax]}}{{ref-en}} — Понятия и абстрактный синтаксис RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/rdf-schema/ RDF Schema 1.1]}}{{ref-en}} — Словарь RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/rdf11-mt/ RDF 1.1 Semantics]}}{{ref-en}} — Семантика RDF 1.1
** Форматы представления:
*** {{lang-en2|[http://www.w3.org/TR/rdf-syntax-grammar/ RDF 1.1 XML Syntax]}}{{ref-en}} — Описание синтаксиса «[[RDF/XML]]» для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/turtle/ RDF 1.1 Turtle]}}{{ref-en}} — Описание синтаксиса «Turtle» для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/n-triples/ RDF 1.1 N-Triples]}}{{ref-en}} — Описание синтаксиса «N-Triples» для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/n-quads/ RDF 1.1 N-Quads]}}{{ref-en}} — Описание синтаксиса «N-Quads» для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/trig/ RDF 1.1 TriG]}}{{ref-en}} — Описание синтаксиса «TriG» для RDF 1.1
*** {{lang-en2|[http://www.w3.org/TR/json-ld/ JSON-LD 1.0]}}{{ref-en}} — Описание синтаксиса «[[JSON-LD]]», представление RDF-данных в формате [[JSON]]
*** {{lang-en2|[http://www.w3.org/TR/json-ld-api/ JSON-LD 1.0 Processing Algorithms and API]}}{{ref-en}} — Описание алгоритмов обработки и их API для RDF-данных, представленных в форме «JSON-LD»
** Прикладные словари и онтологии
*** {{lang-en2|[http://www.w3.org/TR/vocab-dcat/ Data Catalog Vocabulary (DCAT)]}}{{ref-en}} — онтология понятий в области описания опубликованного в сети каталога информации и содержащихся в нём наборов данных
*** {{lang-en2|[http://www.w3.org/TR/vocab-data-cube/ The RDF Data Cube Vocabulary]}}{{ref-en}} — онтология понятий в области описания многомерных наборов данных
*** {{lang-en2|[http://www.w3.org/TR/vocab-org/ The Organization Ontology]}}{{ref-en}} — онтология понятий в области описания структуры организаций
* 2013 год:
** [[SPARQL]] 1.1
** [[Rule Interchange Format]]
*** {{lang-en2|[http://www.w3.org/TR/rif-rdf-owl/ RIF RDF and OWL Compatibility (Second Edition)]}}{{ref-en}} — использование с RDF рекомендуемого W3C подхода к описанию и выполнению правил
** Связанные стандарты
*** {{lang-en2|[http://www.w3.org/TR/its20/ Internationalization Tag Set (ITS) Version 2.0]}}{{ref-en}}
* 2012 год:
** [[Web Ontology Language]]
** {{lang-en2|[http://www.w3.org/TR/rdf-plain-literal/ rdf:PlainLiteral: A Datatype for RDF Plain Literals (Second Edition)]}}{{ref-en}}
** Отражение [[Реляционные БД|реляционных данных]] в RDF:
*** {{lang-en2|[http://www.w3.org/TR/rdb-direct-mapping/ A Direct Mapping of Relational Data to RDF]}}{{ref-en}} — прямое
*** {{lang-en2|[http://www.w3.org/TR/r2rml/ R2RML: RDB to RDF Mapping Language]}}{{ref-en}} — гибкое
*** {{lang-en2|[http://www.w3.org/TR/rdb2rdf-ucr/ Use Cases and Requirements for Mapping Relational Databases to RDF]}}{{ref-en}} — исходные примеры применения и требования, 2010 год
** {{lang-en2|[http://www.w3.org/TR/mediaont-10/ Ontology for Media Resources 1.0]}}{{ref-en}} — онтология для описания медиа-ресурсов
* 2008 год:
** [[SPARQL]] 1.0
* 2004 год:
** {{lang-en2|[http://www.w3.org/TR/rdf-concepts/ Resource Description Framework (RDF): Concepts and Abstract Syntax]}}{{ref-en}} — Понятия и абстрактный синтаксис RDF 1.0
** {{lang-en2|[http://www.w3.org/TR/rdf-mt/ RDF Semantics]}}{{ref-en}} — Семантика RDF 1.0
** {{lang-en2|[http://www.w3.org/TR/rdf-testcases RDF Test Cases]}}{{ref-en}} — Набор тестовых данных RDF
** {{lang-en2|[http://www.w3.org/TR/rdf-primer/ RDF Primer]}}{{ref-en}} — Введение в RDF

Также есть множество черновиков и заметок, среди которых есть {{lang-en2|[http://www.w3.org/TR/ld-glossary/ Linked Data Glossary]}}{{ref-en}} — глоссарий всех понятий, связанных с RDF.


== Форматы представления ==
== Модель данных ==
RDF сам по себе является не [[формат файла|форматом файла]], а только лишь абстрактной моделью<ref name="w3c-rdf-primer"/>. Для записи и передачи RDF используется несколько форматов, в том числе:
Для записи и передачи RDF используется несколько форматов, в том числе:
* [[RDF/XML]] — запись в виде [[XML]]-документа;
* [[RDF/XML]] — запись в виде [[XML]]-документа;
* [http://n2.talis.com/wiki/RDF_JSON_Specification RDF/JSON] — запись в виде [[JSON]]-данных;
* [https://web.archive.org/web/20081218043909/http://n2.talis.com/wiki/RDF_JSON_Specification RDF/JSON]{{ref-en}} — запись в виде [[JSON]]-данных;
* [[RDFa]] ({{lang-en|RDF in attributes}}) — запись внутри атрибутов произвольного [[HTML]]- или [[XHTML]]-документа;
* [[RDFa]] ({{lang-en|RDF in attributes}}) — запись внутри атрибутов произвольного [[HTML]]- или [[XHTML]]-документа;
* [[N-Triples]], [[Turtle]], [[Нотация 3|N3]] — компактные<ref name="palmer-n3-guide">{{cite web
* [[N-Triples]], [[Turtle]], [[Нотация 3|N3]] — компактные<ref name="palmer-n3-guide">{{cite web
| author = Шон Палмер
|author = Шон Палмер
| url = http://infomesh.net/2002/notation3/
|url = http://infomesh.net/2002/notation3/
| title = Notation3: A Rough Guide to N3
|title = Notation3: A Rough Guide to N3
| accessdate = 2009-11-22
|accessdate = 2009-11-22
| lang = en
|lang = en
| description = Введение в Notation3
|description = Введение в Notation3
| archiveurl = http://www.webcitation.org/686wbxF79
|archiveurl = https://www.webcitation.org/686wbxF79?url=http://infomesh.net/2002/notation3/
| archivedate = 2012-06-02
|archivedate = 2012-06-02
|deadurl = yes
}}
}}
</ref> формы записи утверждений.
</ref> формы записи утверждений.

Для обработки данных, представленных в RDF, могут использоваться языки запросов: [[SPARQL]] (стандарт [[консорциум Всемирной паутины|W3C]]), [[RQL]], [[RDQL]].


== Семантика ==
== Семантика ==
RDF предоставляет средства для построения информационных моделей, но не касается семантики описываемого. Взятый в отдельности граф RDF можно понимать только как граф. Толкование значения основывается на способности пользователей RDF интерпретировать URI, строковые литералы и структуру графа.
RDF предоставляет средства для построения информационных моделей, но не касается семантики описываемого. Взятый в отдельности граф RDF можно понимать только как граф. Толкование значения основывается на способности пользователей RDF интерпретировать отдельные URI, строковые литералы и структуру графа, и по ним интерпретировать остальные URI и семантику данных.


Для выражения семантики требуются '''словари''' ({{lang-en|vocabularies}}), '''таксономии''' ({{lang-en|taxonomies}}) и [[онтология (информатика)|онтологии]] ({{lang-en|ontologies}}).
Для выражения семантики требуются '''[[Словарь|словари]]''' ({{lang-en|vocabularies}}), '''[[Таксономия|таксономии]]''' ({{lang-en|taxonomies}}) и [[онтология (информатика)|онтологии]] ({{lang-en|ontologies}}) и наличие в рассматриваемом графе связей с ними.


Словарь представляет собой собрание определённых используемых терминов, имеющих одинаковый смысл во всех контекстах.
* Словарь представляет собой собрание терминов, имеющих во всех контекстах использования этого словаря одинаковый смысл.


Таксономия — это словарь иерархически организованных терминов.
* Таксономия — это ''словарь'' иерархически организованных терминов.


[[Онтология (информатика)|Онтология]] использует предопределённый зарезервированный словарь терминов для определения концепций и отношений между ними для конкретной предметной области. Онтологии можно использовать для выражения семантики терминов словаря, их взаимоотношений и контекстов использования.
* [[Онтология (информатика)|Онтология]] использует предопределённый зарезервированный ''словарь'' терминов для определения концепций и отношений между ними для конкретной предметной области. Онтологии можно использовать для выражения семантики терминов словаря, их взаимоотношений и контекстов использования.


Большинство словарей для описываемых субъектов не только содержит предикаты и объекты, но и подразумевает для них ту или иную семантическую нагрузку, не укладывающуюся как правило в собственно RDF-представление словаря. Это могут быть способы использования тех или иных конкретных субъектов, правила, ограничения, рекомендации, обоснования необходимости использования именно их, и т. п. Как правило, это описывается в сопроводительной документации к словарю.
[[RDF Schema]]<ref>[http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ RDF Schema]</ref> предоставляет специальный словарь для RDF, который может быть использован для определения таксономий классов, свойств, контейнеров, реификации (от {{lang-en|reification}} — воплощение). Для записи семантики предметных областей в онтологиях служит язык [[Web Ontology Language|OWL]]{{sfn|Hebeler, Fisher, Blace, Perez-Lopez|2009|pp=98-100}}.

=== RDF Schema ===
{{Main|RDF Schema}}
RDF Schema предоставляет собой словарь для RDF, который используется, в основном, при описании других словарей. RDF Schema:
* декларирует существование ресурсов, среди которых отдельно выделяет литералы разных типов данных, в том числе строк с указанием языка, строк с XML-или HTML-разметкой;
* декларирует существование классов ресурсов и их подклассов;
* декларирует существование свойств, которые относятся к ресурсам определённого класса, могут объектами иметь ресурсы конкретных классов, и могут быть более узко осмысленным вариантом более общего свойства;
* декларирует существование таких часто используемых свойств как «наименование», «описание», «ресурс-синоним», и некоторых других;
* описывает классы и свойства, позволяющие организовать в модели RDF три вида списков;
* описывает классы и свойства, нужные для реификации (от {{lang-en|reification}}, воплощение) — обеспечения возможности записи триплетов, объектом и субъектом которых являются триплеты.

Описание дополнительной семантической нагрузки этого словаря расположено во всех трёх основных стандартах RDF — в [http://www.w3.org/TR/rdf11-concepts/ описании концепций RDF]{{ref-en}}, в [http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ описании самого словаря]{{ref-en}}, и в [http://www.w3.org/TR/rdf11-mt/ описании семантики RDF]{{ref-en}}.

В частности, в описании семантики RDF говорится, что словари могут лишь подразумевать, но не содержать в явном виде триплеты, которые можно получить из остальных триплетов словаря путём исполнения ряда определённых для словаря формальных правил, следующих из семантики используемых словарём понятий. И приведён перечень правил, подразумеваемых словарём RDF Schema.

=== OWL ===
{{Main|Web Ontology Language}}

Для записи более сложных логических отношений описываемых ресурсов различных предметных областей в онтологиях служит язык [[Web Ontology Language|OWL]]{{sfn|Hebeler, Fisher, Blace, Perez-Lopez|2009|pp=98-100}}.


== RDF-хранилища ==
== RDF-хранилища ==
Для хранения RDF-данных используются два основных вида хранилищ: '''''нативные''''' (native, «родные») и '''''неродные''''' (non-native). Родные хранилища позволяют достичь большей степени оптимизации, но более трудоёмки в проектировании, так как строятся специльно для работы с RDF. Неродные хранилища более просты в проектировании (например, за счёт использования механизмов реляционных СУБД или решений [[NoSQL]]), но менее оптимизированы. Нативные хранилища могут оперировать с данными, целиком находящимися в оперативной памяти (in-memory) или же использовать и внешнюю память (например, жёсткий диск){{sfn|Curé, Blin|2014|Chapter V.}}.
Для хранения RDF-данных используются два основных вида хранилищ: '''''специализированные''''' (native, «родные», «нативные») и '''''не специализированные''''' (non-native). Специализированные хранилища позволяют достичь большей степени оптимизации, но более трудоёмки в проектировании, так как строятся специально для работы с RDF. Остальные хранилища более просты в проектировании (например, за счёт использования механизмов реляционных СУБД или решений [[NoSQL]]), но менее оптимизированы под работу с RDF. Специализированные хранилища делятся по способности оперировать с данными, лишь целиком находящимися в оперативной памяти (in-memory) или же способные использовать и внешнюю память (например, жёсткий диск){{sfn|Curé, Blin|2014|loc=Chapter V}}.

Системы для работы с RDF разрабатываются как в рамках исследований, так и для производственного использования. К основным специализированным хранилищам, пригодным для производственного использования, относятся{{sfn|Curé, Blin|2014|loc=Chapter V}}:


* OpenLink Virtuoso;
Системы для работы с RDF разрабатываются как в рамках исследований, так и для производственного использования. К основным хранилищам, пригодным для производственного использования, относятся{{sfn|Curé, Blin|2014|Chapter V.}}:
* Stardog;
* решения от Oracle
* [[Blazegraph]] (ранее Bigdata);
* сервер приложений Virtuoso
* GraphDB (ранее OWLIM);
* 4Store
* RDF4J (ранее Sesame);
* Stardog
* Apache Jena;
* bigdata
* Allegrograph;
* GraphDB (ранее OWLIM)
* Sesame
* 4Store.
* Jena TBD
* Allegrograph


== Применение ==
== Применение ==
Строка 80: Строка 149:
Поисковые системы предлагают веб-мастерам использовать RDF и аналогичные языки разметки страниц для повышения информативности ссылки на их сайт в результатах поиска.
Поисковые системы предлагают веб-мастерам использовать RDF и аналогичные языки разметки страниц для повышения информативности ссылки на их сайт в результатах поиска.


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


В форме RSS, формат RDF широко используется для краткого представления перечня новых записей на периодически пополняющихся сайтах типа блогов, новостных лент или интернет-журналов.
В форме RSS 1.0, формат RDF широко используется для краткого представления перечня новых записей на периодически пополняющихся сайтах типа блогов, новостных лент или интернет-журналов.


Кроме вышеперечисленного, в формате RDF представляют данные для [[Анализ данных|анализа]] и/или [[Интеграция данных|интеграции]] в [[ERP|информационных системах предприятий]], что даёт возможность исследовать их при помощи [[SPARQL]] (см. проект http://d2rq.org/, например), а при опоре на отраслевой стандарт, например, [[ISO 15926]] позволяет унифицированно обмениваться данными различных предприятий на уровне отрасли.
Кроме вышеперечисленного, в формате RDF представляют данные для [[Анализ данных|анализа]] и/или [[Интеграция данных|интеграции]] в [[ERP|информационных системах предприятий]], что даёт возможность исследовать их при помощи [[SPARQL]] (проект D2RQ, например), а при опоре на отраслевой стандарт, например, [[ISO 15926]] позволяет унифицированно обмениваться данными различных предприятий на уровне отрасли.

Использование RDF увеличилось с появлением представления RDF в виде [[JSON-LD]] и распространением [[Linked data|Linked Data]]. Например, Google принимает во внимание семантическое описание страницы в одном из RDF-форматов (и с использованием словаря [[Schema.org]]) и использует его для более подробного описания результатов поиска<ref>{{Cite web |url=https://developers.google.com/structured-data/events/performers?hl=en&rd=1 |title=Event Markup: Official Performer Sites |access-date=2015-05-28 |archive-date=2015-05-28 |archive-url=https://web.archive.org/web/20150528222922/https://developers.google.com/structured-data/events/performers?hl=en&rd=1 |deadlink=no }}</ref>.


=== Форматы ===
=== Форматы ===
* [[RSS]] (версий 0.9, 1.0)
* [[RSS]] (версий 0.9, 1.0);
* [[FOAF]]
* [[FOAF]];
* [[SIOC]]
* [[SIOC]];
* [[DOAP]]
* [[DOAP]];
* [[Extensible Metadata Platform]] (XMP).


=== Проекты ===
=== Проекты ===
* [[DBpedia]]
* [[DBpedia]];
* [[GeoNames]]
* [[GeoNames]];
* [[WordNet]]
* [[WordNet]];
* Базовые общедоступные [[Онтология (информатика)|онтологии]]
* Базовые общедоступные [[Онтология (информатика)|онтологии]]:
** [[Дублинское ядро]]
** [[Дублинское ядро]];
** [[Schema.org]]
** [[Schema.org]];
** {{нп3|Open Graph|Open Graph|en|Open Graph}}
** {{нп3|Open Graph|Open Graph|en|Open Graph}}.


=== Инструменты ===
=== Инструменты ===
* {{нп3|Rich snippets|Rich snippets|en|Rich snippets}}
* {{нп3|Rich snippets|Rich snippets|en|Rich snippets}};
* {{нп3|Ontology_editor|Список редакторов онтологий}}
* {{нп3|Ontology_editor|Список редакторов онтологий}};
* {{нп3|List_of_SPARQL_implementations|Список реализаций SPARQL-сервера}}.


== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}

== Ссылки ==
* [http://www.w3.org/RDF/ Официальная страница RDF] {{ref-en}}
* [http://xmlhack.ru/texts/06/rdf-quickintro/rdf-quickintro.html Краткое введение в RDF]
* [http://shcherbak.net/rdf_xslt_tech/ Материалы статей о RDF. Способы автоматизированной обработки RDF]
* Серия статей о микроразметке — о различных способах размещения RDF-триплетов на HTML-страницах, их назначении, видах и пользе.
** [http://habrahabr.ru/company/yandex/blog/211638/ Как устроен мир семантической микроразметки] — обзор доступных словарей ([[Онтология (информатика)|онтологий]]), на которые может опираться микроразметка, и позволяющих понимать её смысл при использовании.
** [http://habrahabr.ru/company/yandex/blog/221881/ Сложный и противоречивый мир синтаксиса микроразметки. Почему стандартов так много? Опыт Яндекса] — обзор вариантов синтаксиса разметки RDF-триплетов на HTML-страницах.
** [http://habrahabr.ru/company/yandex/blog/229929/ Зачем на самом деле используют микроразметку. Обзор от Яндекса] — обзор систем, извлекающих практическую пользу из наличия RDF-триплетов в HTML-страницах.


== Литература ==
== Литература ==
* {{книга
* {{книга
|заглавие=Programming the Semantic Web
|заглавие=Programming the Semantic Web
|ссылка=https://archive.org/details/programmingseman0000sega
|автор=Toby Segaran, Colin Evans, Jamie Taylor
|автор=Toby Segaran, Colin Evans, Jamie Taylor
|издательство=O’Reilly Media
|издательство=O’Reilly Media
Строка 129: Строка 194:
* {{книга
* {{книга
|заглавие=Semantic Web Programming
|заглавие=Semantic Web Programming
|ссылка=https://archive.org/details/isbn_9780470418017
|автор=John Hebeler, Matthew Fisher, Ryan Blace, Andrew Perez-Lopez
|автор=John Hebeler, Matthew Fisher, Ryan Blace, Andrew Perez-Lopez
|издательство=John Wiley & Sons
|издательство=John Wiley & Sons
Строка 146: Строка 212:
}}
}}


== Ссылки ==
{{rq|stub|topic=ИТ}}
* [http://www.w3.org/RDF/ Официальная страница RDF] {{ref-en}}
* [http://xmlhack.ru/texts/06/rdf-quickintro/rdf-quickintro.html Краткое введение в RDF]
* [https://web.archive.org/web/20080419133540/http://shcherbak.net/rdf_xslt_tech/ Материалы статей о RDF. Способы автоматизированной обработки RDF]

{{Внешние ссылки}}
{{Стандарты W3C}}
{{Стандарты W3C}}
{{Семантическая паутина}}
{{Семантическая паутина}}

Текущая версия от 17:03, 17 декабря 2024

Resource Description Framework
Изображение логотипа
Орган стандартизации Консорциум Всемирной паутины
Создатель Консорциум Всемирной паутины
Создан 1997
Логотип Викисклада Медиафайлы на Викискладе

Resource Description Framework (RDF, «среда описания ресурса»[1]) — это разработанная консорциумом Всемирной паутины модель для представления данных, в особенности — метаданных[2].

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

Вид данных в ресурсе в RDF может быть любой — как информационной (например, веб-сайт или изображение), так и неинформационной (например, человек, город или некое абстрактное понятие). Утверждение, высказываемое о ресурсе, имеет вид «субъект — предикат — объект» и называется триплетом[1]. Утверждение «небо голубого цвета» в RDF-терминологии можно представить следующим образом: субъект — «небо», предикат — «имеет цвет», объект — «голубой». Для обозначения субъектов, отношений и объектов в RDF используются URI.

Триплет RDF

Множество 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/):

Также есть множество черновиков и заметок, среди которых есть Linked Data Glossary (англ.) — глоссарий всех понятий, связанных с RDF.

Форматы представления

[править | править код]

Для записи и передачи RDF используется несколько форматов, в том числе:

  • RDF/XML — запись в виде XML-документа;
  • RDF/JSON (англ.) — запись в виде JSON-данных;
  • RDFa (англ. RDF in attributes) — запись внутри атрибутов произвольного HTML- или XHTML-документа;
  • N-Triples, Turtle, N3 — компактные[4] формы записи утверждений.

RDF предоставляет средства для построения информационных моделей, но не касается семантики описываемого. Взятый в отдельности граф RDF можно понимать только как граф. Толкование значения основывается на способности пользователей RDF интерпретировать отдельные URI, строковые литералы и структуру графа, и по ним интерпретировать остальные URI и семантику данных.

Для выражения семантики требуются словари (англ. vocabularies), таксономии (англ. taxonomies) и онтологии (англ. ontologies) и наличие в рассматриваемом графе связей с ними.

  • Словарь представляет собой собрание терминов, имеющих во всех контекстах использования этого словаря одинаковый смысл.
  • Таксономия — это словарь иерархически организованных терминов.
  • Онтология использует предопределённый зарезервированный словарь терминов для определения концепций и отношений между ними для конкретной предметной области. Онтологии можно использовать для выражения семантики терминов словаря, их взаимоотношений и контекстов использования.

Большинство словарей для описываемых субъектов не только содержит предикаты и объекты, но и подразумевает для них ту или иную семантическую нагрузку, не укладывающуюся как правило в собственно RDF-представление словаря. Это могут быть способы использования тех или иных конкретных субъектов, правила, ограничения, рекомендации, обоснования необходимости использования именно их, и т. п. Как правило, это описывается в сопроводительной документации к словарю.

RDF Schema предоставляет собой словарь для RDF, который используется, в основном, при описании других словарей. RDF Schema:

  • декларирует существование ресурсов, среди которых отдельно выделяет литералы разных типов данных, в том числе строк с указанием языка, строк с XML-или HTML-разметкой;
  • декларирует существование классов ресурсов и их подклассов;
  • декларирует существование свойств, которые относятся к ресурсам определённого класса, могут объектами иметь ресурсы конкретных классов, и могут быть более узко осмысленным вариантом более общего свойства;
  • декларирует существование таких часто используемых свойств как «наименование», «описание», «ресурс-синоним», и некоторых других;
  • описывает классы и свойства, позволяющие организовать в модели RDF три вида списков;
  • описывает классы и свойства, нужные для реификации (от англ. reification, воплощение) — обеспечения возможности записи триплетов, объектом и субъектом которых являются триплеты.

Описание дополнительной семантической нагрузки этого словаря расположено во всех трёх основных стандартах RDF — в описании концепций RDF (англ.), в описании самого словаря (англ.), и в описании семантики RDF (англ.).

В частности, в описании семантики RDF говорится, что словари могут лишь подразумевать, но не содержать в явном виде триплеты, которые можно получить из остальных триплетов словаря путём исполнения ряда определённых для словаря формальных правил, следующих из семантики используемых словарём понятий. И приведён перечень правил, подразумеваемых словарём RDF Schema.

Для записи более сложных логических отношений описываемых ресурсов различных предметных областей в онтологиях служит язык OWL[5].

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].

Инструменты

[править | править код]

Примечания

[править | править код]
  1. 1 2 Среда Описания Ресурса (RDF): Понятия и Абстрактный Синтаксис. Дата обращения: 11 августа 2012. Архивировано 2 марта 2014 года.
  2. 1 2 RDF Primer (англ.). Консорциум Всемирной паутины (10 февраля 2004). — Рекомендация W3C, информативное введение в RDF. Дата обращения: 22 ноября 2009. Архивировано из оригинала 2 июня 2012 года.
  3. Segaran, Evans, Taylor, 2009, pp. 63-64.
  4. Шон Палмер. Notation3: A Rough Guide to N3 (англ.). — Введение в Notation3. Дата обращения: 22 ноября 2009. Архивировано из оригинала 2 июня 2012 года.
  5. Hebeler, Fisher, Blace, Perez-Lopez, 2009, pp. 98-100.
  6. 1 2 Curé, Blin, 2014, Chapter V.
  7. Event Markup: Official Performer Sites. Дата обращения: 28 мая 2015. Архивировано 28 мая 2015 года.

Литература

[править | править код]
  • 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.