Resource Description Framework: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
РоманСузи (обсуждение | вклад) дополнение |
LeoFisun (обсуждение | вклад) м стилевые правки |
||
(не показано 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 |
||
| |
|publisher = [[Консорциум Всемирной паутины]] |
||
| |
|accessdate = 2009-11-22 |
||
| |
|lang = en |
||
| |
|description = Рекомендация W3C, информативное введение в RDF |
||
| |
|archiveurl = https://www.webcitation.org/686waxO2I?url=http://www.w3.org/TR/rdf-primer/ |
||
| |
|archivedate = 2012-06-02 |
||
|deadurl = yes |
|||
}}</ref>. RDF представляет ''утверждения'' о ''ресурсах'' в виде, пригодном для машинной обработки. RDF является частью концепции [[семантическая паутина|семантической паутины]]. |
|||
}}</ref>. |
|||
== Описание == |
|||
RDF представляет ''утверждения'' о ''ресурсах'' в виде, пригодном для машинной обработки. RDF является частью концепции [[семантическая паутина|семантической паутины]]. |
|||
Вид данных в ресурсе в 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 год]]а |
С 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 используется несколько форматов, в том числе: |
|||
* [[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 = Шон Палмер |
||
| |
|url = http://infomesh.net/2002/notation3/ |
||
| |
|title = Notation3: A Rough Guide to N3 |
||
| |
|accessdate = 2009-11-22 |
||
| |
|lang = en |
||
| |
|description = Введение в Notation3 |
||
| |
|archiveurl = https://www.webcitation.org/686wbxF79?url=http://infomesh.net/2002/notation3/ |
||
| |
|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-данных используются два основных вида хранилищ: ''''' |
Для хранения 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) |
|||
* |
* 4Store. |
||
* Jena TBD |
|||
* Allegrograph |
|||
== Применение == |
== Применение == |
||
Строка 80: | Строка 149: | ||
Поисковые системы предлагают веб-мастерам использовать RDF и аналогичные языки разметки страниц для повышения информативности ссылки на их сайт в результатах поиска. |
Поисковые системы предлагают веб-мастерам использовать RDF и аналогичные языки разметки страниц для повышения информативности ссылки на их сайт в результатах поиска. |
||
Социальные сети, с подачи Facebook, предлагают веб-мастерам использовать RDF для описания свойств страниц, так же позволяющих красиво оформить ссылку на неё в записи пользователя социальной сети. |
Социальные сети, с подачи Facebook (opengraph), предлагают веб-мастерам использовать RDF для описания свойств страниц, так же позволяющих красиво оформить ссылку на неё в записи пользователя социальной сети. |
||
В форме RSS, формат RDF широко используется для краткого представления перечня новых записей на периодически пополняющихся сайтах типа блогов, новостных лент или интернет-журналов. |
В форме RSS 1.0, формат RDF широко используется для краткого представления перечня новых записей на периодически пополняющихся сайтах типа блогов, новостных лент или интернет-журналов. |
||
Кроме вышеперечисленного, в формате RDF представляют данные для [[Анализ данных|анализа]] и/или [[Интеграция данных|интеграции]] в [[ERP|информационных системах предприятий]], что даёт возможность исследовать их при помощи [[SPARQL]] ( |
Кроме вышеперечисленного, в формате 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 сам по себе является не форматом файла, а только лишь абстрактной моделью[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/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 Schema предоставляет собой словарь для RDF, который используется, в основном, при описании других словарей. RDF Schema:
- декларирует существование ресурсов, среди которых отдельно выделяет литералы разных типов данных, в том числе строк с указанием языка, строк с XML-или HTML-разметкой;
- декларирует существование классов ресурсов и их подклассов;
- декларирует существование свойств, которые относятся к ресурсам определённого класса, могут объектами иметь ресурсы конкретных классов, и могут быть более узко осмысленным вариантом более общего свойства;
- декларирует существование таких часто используемых свойств как «наименование», «описание», «ресурс-синоним», и некоторых других;
- описывает классы и свойства, позволяющие организовать в модели RDF три вида списков;
- описывает классы и свойства, нужные для реификации (от англ. reification, воплощение) — обеспечения возможности записи триплетов, объектом и субъектом которых являются триплеты.
Описание дополнительной семантической нагрузки этого словаря расположено во всех трёх основных стандартах RDF — в описании концепций RDF (англ.), в описании самого словаря (англ.), и в описании семантики RDF (англ.).
В частности, в описании семантики RDF говорится, что словари могут лишь подразумевать, но не содержать в явном виде триплеты, которые можно получить из остальных триплетов словаря путём исполнения ряда определённых для словаря формальных правил, следующих из семантики используемых словарём понятий. И приведён перечень правил, подразумеваемых словарём RDF Schema.
OWL
[править | править код]Для записи более сложных логических отношений описываемых ресурсов различных предметных областей в онтологиях служит язык 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].
Форматы
[править | править код]- RSS (версий 0.9, 1.0);
- FOAF;
- SIOC;
- DOAP;
- Extensible Metadata Platform (XMP).
Проекты
[править | править код]Инструменты
[править | править код]Примечания
[править | править код]- ↑ 1 2 Среда Описания Ресурса (RDF): Понятия и Абстрактный Синтаксис . Дата обращения: 11 августа 2012. Архивировано 2 марта 2014 года.
- ↑ 1 2 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.
- ↑ 1 2 Curé, Blin, 2014, Chapter V.
- ↑ 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.