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

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

Модель данных

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

Субъекты должны быть ресурсами, которые могут быть названы (с использованием IRI) или анонимны (известные как пустые узлы). Считается, что IRI имеют глобальную область видимости, в то время как пустые узлы привязаны к Графику, на котором они появляются.

Предикаты всегда должны называться ресурсами, то есть IRI.

Объектами могут быть ресурсы - IRI / пустые узлы - или они могут быть буквальными значениями. Литеральные значения бывают трех типов:

  1. Простые литералы - это просто строки, например "simple literal"
  2. Литералы с языковыми спецификаторами - это строки с языком строк, указанным с помощью стандартных языковых тегов, например "literal with language tag"@en-gb
  3. Литералы с типами данных - это значения с объявленным типом данных, например "123"^^xsd:integer. Типы данных схемы XML обычно используются и поддерживаются соответствующими стандартами, такими как SPARQL.

Синтаксис

RDF - это синтаксически независимая модель, но она имеет множество официально и полуофициально стандартизированных конкретных синтаксисов, которые используются для ее сериализации.

Официальные стандарты (W3C)

Ниже приведены официальные стандарты, созданные W3C.

  • RDF/XML - это официальная сериализация RDF на основе XML. RDF/XML используется довольно часто, но имеет некоторые недостатки в том, что человеку трудно понять или написать от руки.
  • NTriples - это официальный текстовый формат для сериализации RDF. Это очень простая сериализация, не использующая синтаксического сахара, она очень быстро анализируется и может быть прочитана / записана вручную. Его недостаток в том, что он очень подробный по сравнению с другими синтаксисами.
  • RDFa - это официально рекомендуемый механизм для встраивания RDF в существующие (X)HTML-страницы. После изучения его легко использовать, но иногда его критикуют за то, что структуры DOM, необходимые для встраивания RDFa, часто не соответствуют структурам DOM страниц, вынуждая разработчиков встраивать дополнительные скрытые элементы с RDFa.
  • Turtle - это читаемая, но компактная сериализация RDF в виде обычного текста, разработанная Дэйвом Беккетом, который был одним из членов рабочей группы W3C, создавшей спецификации RDF. Его легко и быстро анализировать, и он включает в себя различный синтаксический сахар для сжатия данных, чтобы сделать их менее подробными. Turtle - это надмножество NTriples, а подмножество Notation 3 Turtle было представлено как официальная сериализация RDF в феврале 2014 года.
  • JSON-LD - JSON-LD - еще одна сериализация RDF в формате JSON. Он подчеркивает компактный синтаксис и возможность добавлять RDF в ваши существующие данные JSON. Он стал официальным вместе с Turtle в феврале 2014 года.

Неофициальные стандарты

Хотя следующие элементы официально не стандартизированы, они достаточно хорошо определены и широко реализованы в API RDF / семантической сети:

  • Notation 3 - это читаемая, но компактная сериализация RDF в виде обычного текста, разработанная Тимом Бернерсом-Ли. Это надмножество Turtle, способное выражать данные, выходящие за рамки основной модели RDF, а также выражать все допустимые RDF.
  • Talis RDF / JSON - одна из нескольких конкурирующих JSON-сериализаций RDF, которая пытается быть как можно более компактной.

Ресурсы