Обмен данными - это процесс взятия данных, структурированных в соответствии с исходной схемой, и их преобразования в данные, структурированные в соответствии с целевой схемой, поэтому что целевые данные являются точным представлением исходных данных. Обмен данными позволяет совместно использовать данные между различными компьютерными программами.
. Это похоже на связанную концепцию интеграции данных, за исключением того, что данные фактически реструктурируются (с возможной потерей содержимого) при обмене данными. Может не быть способа преобразовать экземпляр с учетом всех ограничений. И наоборот, может существовать множество способов преобразования экземпляра (возможно, бесконечно много), и в этом случае необходимо определить и обосновать «лучший» выбор решений.
В некоторых доменах несколько десятков различных исходных и целевых схем ( собственные форматы данных) могут существовать. «Обмен» или «формат обмена» часто разрабатывается для одного домена, а затем записываются необходимые процедуры (сопоставления) для (косвенного) преобразования / преобразования каждой исходной схемы в каждую целевую схему с использованием формата обмена как промежуточный шаг. Это требует гораздо меньше работы, чем написание и отладка сотен различных подпрограмм, которые потребовались бы для прямого преобразования каждой исходной схемы непосредственно в каждую целевую схему.
Примеры этих трансформирующих форматов обмена включают:
Язык / формат обмена (или обмена) данными - это язык, который не зависит от предметной области и может использоваться для данных из любая дисциплина. Они «эволюционировали из ориентированных на разметку и отображение для дальнейшей поддержки кодирования метаданных, описывающих структурные атрибуты информации».
Практика показала, что некоторые типы формальных языков являются лучше подходят для этой задачи, чем другие, так как их спецификация определяется формальным процессом, а не конкретными потребностями реализации программного обеспечения. Например, XML - это язык разметки, который был разработан для создания диалектов (определение подъязыков, зависящих от предметной области). Однако он не содержит тематических словарей или типов фактов. Для надежного обмена данными выгодно наличие стандартных словарей-таксономий и библиотек инструментов, таких как анализаторы, схемы валидаторы и инструменты преобразования.
Ниже приводится неполный список популярных общих языков, используемых для обмена данными в нескольких доменах.
Схемы | Гибкая | Семантическая проверка | Словарь | Информационная модель | Синонимы и омонимы | Диалект | Веб-стандарт | Преобразования | Облегченный | Человекочитаемый | Совместимость | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
RDF | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Частично | Подмножество Семантической сети |
XML | Да | Да | Нет | Нет | Нет | Нет | Да | Да | Да | Нет | Да | подмножество SGML, HTML |
Atom | Да | Неизвестно | Неизвестно | Неизвестно | Нет | Неизвестно | Да | Да | Да | Нет | Нет | XML диалект |
JSON | Нет | Неизвестно | Неизвестно | Неизвестно | Нет | Неизвестно | Нет | Да | Нет | Да | Да | подмножество YAML |
YAML | No | Неизвестно | Неизвестно | Неизвестно | Нет | Неизвестно | Нет | Нет | No | Да | Да | расширенный набор JSON |
REBOL | Да | Да | Нет | Да | Нет | Да | Да | Нет | Да | Да | Да | |
Gellish | Да | Да | Да | Да | Нет | Да | Да | ISO | Нет | Да | Частично | SQL, RDF / XML, OWL |
Номенклатура
Примечания:
Популярность XML для обмена данными в World Wide Web имеет несколько причин. Прежде всего, он тесно связан с уже существующими стандартами Standard Generalized Markup Language (SGML) и Hypertext Markup Language (HTML), и поэтому синтаксический анализатор, написанный для поддержки этих двух языков, может быть легко расширен для поддержки XML тоже. Например, XHTML был определен как формат, который является формальным XML, но правильно понимается большинством (если не всеми) анализаторами HTML.
YAML - это язык, который был разработан для удобства чтения (и поэтому его легко редактировать с помощью любого стандартного текстового редактора). Его понятие часто похоже на reStructuredText или синтаксис Wiki, который также пытается быть читаемым как людьми, так и компьютерами. YAML 1.2 также включает сокращенное понятие, совместимое с JSON, и поэтому любой документ JSON также является допустимым YAML; это, однако, не справедливо.
REBOL - это язык, который был разработан для удобства чтения и редактирования с использованием любого стандартного текстового редактора. Для этого используется простой синтаксис произвольной формы с минимальным количеством знаков препинания и богатым набором типов данных. Типы данных REBOL, такие как URL-адреса, электронные письма, значения даты и времени, кортежи, строки, теги и т. Д., Соответствуют общим стандартам. REBOL спроектирован так, чтобы не нуждаться в каком-либо дополнительном метаязыке, он разработан в метациркульной форме. Метациркулярность языка является причиной того, почему, например, диалект Parse, используемый (не исключительно) для определений и преобразований диалектов REBOL, также сам по себе является диалектом REBOL. REBOL послужил источником вдохновения для JSON.
Gellish English - это формализованное подмножество естественного английского языка, которое включает простую грамматику и большой расширяемый английский Словарь-Таксономия, который определяет общую терминологию и терминологию предметной области (термины для понятий), тогда как понятия организованы в иерархию подтип-супертип (таксономия), которая поддерживает наследование знаний и требований. Словарь-таксономия также включает стандартизованные типы фактов (также называемые типами отношений). Термины и типы отношений вместе могут использоваться для создания и интерпретации выражений фактов, знаний, требований и другой информации. Gellish можно использовать в сочетании с SQL, RDF / XML, OWL и другими различными метаязыками. Стандарт Gellish представляет собой комбинацию ISO 10303-221 (AP221) и ISO 15926.
Подпрограммы преобразования будут представлять собой язык и синтаксис, которые должны быть дисциплинированными и независимыми от машины.