Обмен данными

Процесс управления данными

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

Это похоже на связанную концепцию интеграции данных, за исключением того, что данные фактически реструктурируются (с возможной потерей контента) при обмене данными. Может не быть способа преобразовать экземпляр с учетом всех ограничений. И наоборот, может быть множество способов преобразовать экземпляр (возможно, бесконечно много), и в этом случае должен быть определен и обоснован «лучший» выбор решений.

Однодоменный обмен данными

В некоторых доменах может существовать несколько десятков различных исходных и целевых схем (собственных форматов данных). «Обменный» или «формат обмена» часто разрабатывается для одного домена, а затем пишутся необходимые процедуры (отображения) для (косвенного) преобразования/трансляции каждой исходной схемы в каждую целевую схему, используя формат обмена в качестве промежуточного шага. Это требует гораздо меньше работы, чем написание и отладка сотен различных процедур, которые потребовались бы для прямого трансляции каждой исходной схемы в каждую целевую схему.

Примерами таких преобразующих форматов обмена являются:

  • Стандартный формат обмена геопространственными данными;
  • Формат данных Interchans для данных электронных таблиц;
  • Открытый формат документов для электронных таблиц, диаграмм, презентаций и текстовых документов;
  • Формат GPS eXchange или язык разметки Keyhole для описания данных GPS;
  • GDSII для компоновки интегральных схем.

Методы обмена данными

Существует два типа обмена данными: широковещательный обмен данными и одноранговый (одноадресный) обмен данными. [1]

В широковещательной сети данные передаются всем участникам одновременно. Так же, как и в случае конференц-связи, все участники получают от говорящего одну и ту же информацию одновременно. [2]

В одноранговой (одноадресной) модели обмена данными данные отправляются только целевому получателю, указанному конкретным адресом. Так же, как телефонный звонок или электронная почта, информация передается только между двумя участниками сети. [3]

Языки обмена данными

Язык/формат обмена данными (или обмена) — это язык, который не зависит от предметной области и может использоваться для данных из любой дисциплины. [4] Они «развились из языков, ориентированных на разметку и отображение, в языки, которые в дальнейшем поддерживают кодирование метаданных, описывающих структурные атрибуты информации». [5]

Практика показала, что некоторые типы формальных языков лучше подходят для этой задачи, чем другие, поскольку их спецификация обусловлена ​​формальным процессом, а не конкретными потребностями в реализации программного обеспечения. Например, XML — это язык разметки , который был разработан для создания диалектов (определения доменно-специфических подъязыков). [6] Однако он не содержит доменно-специфических словарей или типов фактов. Для надежного обмена данными выгодно наличие стандартных словарей-таксономий и библиотек инструментов, таких как парсеры , валидаторы схем и инструменты преобразования. [ требуется цитата ]

Ниже приведен частичный список популярных универсальных языков, используемых для обмена данными в различных доменах.


Имя/СокращениеСхемыГибкийСемантическая проверкаСловарьИнформационная модельСинонимы и омонимыДиалектВеб-стандартТрансформацииЛегкийЧитабельно для человекаСовместимость
РДФДа [1]ДаДаДаДаДаДаДаДаДаЧастичныйПодмножество семантической сети
XMLДа [2]ДаНетНетНетНетДаДаДаНетДаподмножество SGML , HTML
АтомДаНеизвестныйНеизвестныйНеизвестныйНетНеизвестныйДаДаДаНетНетдиалект XML
JSONНетНеизвестныйНеизвестныйНеизвестныйНетНеизвестныйНетДаНетДаДаподмножество YAML
ЯМЛНет [3]НеизвестныйНеизвестныйНеизвестныйНетНеизвестныйНетНетНет [3]ДаДа [4]надмножество JSON
РЕБОЛДа [7]ДаНетДаНетДаДаНетДа [7]ДаДа [5]
ЖелтоватыйДаДаДаДа [8]НетДаДаИСОНетДаЧастичный [6]SQL, RDF/XML, OWL

Номенклатура

  • Схемы – доступно ли определение языка в форме, интерпретируемой компьютером.
  • Гибкость — позволяет ли язык расширять возможности семантического выражения без изменения схемы.
  • Семантическая проверка — позволяет ли определение языка проводить семантическую проверку правильности выражений на языке.
  • Словарь-Таксономия – включает ли язык словарь и таксономию (иерархию подтип-супертип) концепций с наследованием
  • Синонимы и омонимы – включает ли язык и поддерживает ли он использование синонимов и омонимов в выражениях.
  • Диалектность – доступно ли определение языка на нескольких естественных языках или диалектах.
  • Веб-стандарт или стандарт ISO – организация, которая одобрила язык в качестве стандарта.
  • Преобразования – включает ли язык перевод на другие стандарты
  • Облегченная версия – доступна ли облегченная версия в дополнение к полной версии.
  • Удобочитаемость для человека – являются ли выражения в языке понятными для человека (читаются ли они людьми без специальной подготовки) [7]
  • Совместимость — какие еще инструменты можно использовать или какие требуются при использовании языка?

Примечания:

  1. ^ RDF — язык с гибкой схемой.
  2. ^ Схема XML содержит очень ограниченную грамматику и словарь.
  3. ^ Доступно как расширение.
  4. ^ В формате по умолчанию, а не в компактном синтаксисе.
  5. ^ Синтаксис довольно прост (язык был разработан с расчетом на то, чтобы его мог прочитать человек); диалекты могут потребовать знания предметной области .
  6. ^ Стандартизированные типы фактов обозначаются стандартизированными английскими фразами, интерпретация и использование которых требуют некоторой подготовки.
  7. ^ Диалект Parse используется для указания, проверки и преобразования диалектов.
  8. ^ Английская версия включает словарь-таксономию английского языка Gellish, который также включает стандартизированные типы фактов (= виды отношений).

XML для обмена данными

Популярность XML для обмена данными во Всемирной паутине имеет несколько причин. Прежде всего, он тесно связан с уже существующими стандартами Standard Generalized Markup Language (SGML) и Hypertext Markup Language (HTML), и как таковой парсер, написанный для поддержки этих двух языков, может быть легко расширен для поддержки XML. Например, XHTML был определен как формат, который является формальным XML, но правильно понимается большинством (если не всеми) парсерами HTML. [6]

YAML для обмена данными

YAML — это язык, который был разработан, чтобы быть понятным человеку (и, таким образом, легко редактироваться любым стандартным текстовым редактором). Его понятие часто похоже на reStructuredText или синтаксис Wiki, которые также пытаются быть понятными как людям, так и компьютерам. YAML 1.2 также включает в себя сокращенное понятие, которое совместимо с JSON, и, таким образом, любой документ JSON также является допустимым YAML; однако это не относится к обратному. [8]

REBOL для обмена данными

REBOL — это язык, который был разработан, чтобы быть понятным человеку и простым для редактирования с помощью любого стандартного текстового редактора. Для достижения этого он использует простой синтаксис свободной формы с минимальной пунктуацией и богатым набором типов данных. Типы данных REBOL, такие как URL-адреса, электронные письма, значения даты и времени, кортежи, строки, теги и т. д., соответствуют общим стандартам. REBOL разработан так, чтобы не нуждаться в каком-либо дополнительном метаязыке, будучи разработанным в метациклическом стиле. Метацикличность языка является причиной того, что, например, диалект Parse, используемый (не исключительно) для определений и преобразований диалектов REBOL, сам по себе является диалектом REBOL. [9] REBOL был использован в качестве источника вдохновения для JSON. [10]

Gellish для обмена данными

Gellish English — это формализованное подмножество естественного английского языка, которое включает в себя простую грамматику и большой расширяемый словарь-таксономию английского языка , который определяет общую и специфическую для домена терминологию (термины для понятий), тогда как понятия организованы в иерархию подтип-супертип (таксономию), которая поддерживает наследование знаний и требований. Словарь-таксономия также включает стандартизированные типы фактов (также называемые типами отношений). Термины и типы отношений вместе могут использоваться для создания и интерпретации выражений фактов, знаний, требований и другой информации. Gellish можно использовать в сочетании с SQL , RDF/XML , OWL и различными другими метаязыками. Стандарт Gellish представляет собой комбинацию ISO 10303-221 (AP221) и ISO 15926. [11]

Смотрите также

Ссылки

  1. ^ Heidarzadeh, A.; Sprintson, A. (2017-03-30). "Оптимальный обмен данными по широковещательным сетям с противниками". 2016 Information Theory and Applications Workshop (ITA) . ISBN 978-1-5090-2529-9– через IEEE.
  2. ^ "Что такое трансляция?". IONOS Digital Guide . 2023-03-20 . Получено 03.04.2024 .
  3. ^ "Unicast". IONOS Digital Guide . 2023-03-23 . Получено 2024-04-03 .
  4. ^ Биллингсли, ФК (1988). «Общий язык обмена данными». Архивы ISPRS . 27 (B3): 80–91 . Получено 25 мая 2018 г. Процедуры преобразования будут представлять собой язык и синтаксис, которые должны быть дисциплинарно и машинно-независимыми.
  5. ^ Нурсеитов, Н.; Полсон, М.; Рейнольдс, Р.; Изуриета, К. (2009). «Сравнение форматов обмена данными JSON и XML: исследование случая». Сценарий : 157–162 .
  6. ^ ab Льюис, Дж.; Московиц, М. (2009). AdvancED CSS. APress. стр.  5–6 . ISBN 9781430219323. Получено 25 мая 2018 г.
  7. ^ "human-readable". Oxford Dictionaries . Oxford University Press. Архивировано из оригинала 30 мая 2018 г. Получено 29 мая 2018 г.
  8. ^ Бендерский, Э. (22 ноября 2008 г.). «JSON — это YAML, но YAML — это не JSON». Сайт Эли Бендерского . Получено 29 мая 2018 г.
  9. ^ Сассенрат, К. (2000). «Язык сценариев REBOL». Журнал доктора Добба . 25 (314): 64–8 . Получено 29 мая 2018 г.
  10. ^ Сассенрат, К. (13 декабря 2012 г.). «О JSON и REBOL». REBOL.com . Получено 29 мая 2018 г. .
  11. ^ ван Ренссен, А.; Вермаас, П.Е.; Цварт, С.Д. (2007). «Таксономия функций в геллийском английском». Труды Международной конференции по инженерному проектированию 2007 г .: DS42_P_230 . Получено 29 мая 2018 г.
Получено с "https://en.wikipedia.org/w/index.php?title=Data_exchange&oldid=1258723895#Data_exchange_languages"