TRaC

Материал из XQ-wiki
Перейти к: навигация, поиск

TRaC (Table Raw Cell) - методология семантически связанной организации данных на основе собственного синтаксиса TRCI. Реализуется группой artel с 2017 года на первом этапе в виде локальной версии, в настоящее время реализуется в форме API с базовым вэб-интерфейсом.

Концепция технологии TRaC[править]

Проблема, которую TRaC пытается решить - "удешевление" процесса трансформации any-data в семантически размеченные данные, которые, в частности, могут быть выражены в виде RDF.

Концепция TRaC исходит из того, что слабая активность создателей информации по её приведению к машиночитаемому виду является следствием необходимости освоения специализированных синтаксисов[1]. Поэтому TRaC предоставляет возможность парсинга данных из пользовательских файлов (различных типов) и наложения метаописаний (схем и онтологий) "незаметно" для пользователя. Таким образом, для пользователя "стоимость" (трудозатраты) интеграции его данных в общий массив имеют близкую к нулевой. А использование инструментов ввода информации на основе TRaC дает выигрыш в эффективности[2] при выполнении текущих рутинных операций. Это обстоятельство мотивирует пользователей[3] к использованию систем автоматической обработки данных.

TRaC реализует организацию данных в виде графов (деревьев), соответствующих табличному представлению table -> row -> cell. Такой вариант позволяет совместить возможности графов для моделирования сложных структур и иерархий с привычным для пользователей табличным представлением, распространенным в информационных системах с реляционным принципом организации данных [4].

В современных средах разработки ПО (фреймворках), созданных на основе объектно-ориентированных языков программирования, проблема отношения реляционной структуры данных с объектным (более человекопонятным) представлением обозначается как "семантический разрыв" (Semantic gap) и решается средствами ORM (Object-Relational Mapping, рус. объектно-реляционное отображение, или преобразование).

Компоненты TRaC[править]

Группой artel реализован вэб-интерфейс TRaC для парсига xlsx-файлов в формат TRCI, хранения в XML-native базе данных с возможностью авторизованного доступа и открытой публикации данных, а также с генерацией вывода в формате docx. Открытым компонентом TRaC является сервис {ЗаполниТитул} для онлайн заполнения пользовательских шаблонов, созданных в формате docx[5]:

Функции[править]

  • ввода данных из файлов: бинарных(xlsx, docx), графов (xml, json), таблиц (csv)
  • генерации онлайн форм из пользовательских шаблонов docx
  • представления и хранения данных в семантической форме rdf (RDF/XML)
  • обработка и извлечение данных на основе пользовательских запросов на Xquery, SPARQL
  • вывода (сериализации) в форматах html,xml, json, csv, xlsx и docx


Решаемые задачи[править]

  • парсинг данных из создаваемых пользователями файлов (текстовых документов, электронных таблиц) с конвертацией данных в единую машиночитаемую форму TRCI;
  • включение семантики в соответствии с концепцией Semantic Web;
  • "связывание" данных в соответствии с концепцией Linked Data;
  • унификация средств обработки, включая средства и механизмы миграции данных, за счет использования единого двумерного ("табличного") представления;
  • упрощение разработки интерфейса за счёт возможности подключения генераторов форм ввода/вывода (например, {ЗаполниТитул} ).

Отраслевые решения[править]

История реализаций TRaC:

Примечания[править]

  1. Кроме того, ориентированные на "машиночитаемость" синтаксисы порождают трудноразрешимые проблемы "человекочитаемости".
  2. выигрыш за счёт повторного использования данных
  3. "пользователь" - тот, кто генерирует данные вне организованных систем обработки информации и, как правило, на персональном компьютере в форме текстовых документов и электронных таблиц
  4. Можно полагать, что и популярность SQL определяется в известной степени табличным представлением данных, которое в силу своей естестественности интуитивно понятно участникам процесса проектирования баз данных даже не имеющим специальных знаний
  5. Документация и примеры использования {ЗаполниТитул} [1]