Дерево данных

Дерево — одна из популярных структур хранения и передачи данных.

Древовидную структуру представления информации используют такие универсальные форматы обмена, как JSON и XML. Они хранят информацию в виде пар «ключ-значение», упорядоченных списков и других объектов, которые также могут быть вложенными.

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

Loginom предоставляет механизмы, которые позволяют обрабатывать древовидные структуры, преобразовывая их в таблицы и обратно - это компоненты Дерево в таблицу и Таблица в дерево. Древовидные данные можно передавать на вход и выход узлов (аналогично набору данных и переменным) через порт соответствующего типа, а также передавать в опубликованный пакет через Интегратор (т.е. можно опубликовать веб-сервис со структурой ответа и запроса в виде дерева данных, как это было в Deductor (DIS)).

В Loginom дерево - это набор связанных узлов. Первый узел дерева называется корнем. Корневой узел всегда один. Если узел соединен с другим узлом, то он является родительским, а связанный с ним узел — дочерним.

Узлы дерева могут иметь признаки контейнер и массив.

Контейнер - это узел, который может содержать дочерние узлы (при этом количество дочерних узлов может быть равно 0), но не может содержать значение. У узла-контейнера невозможно задать тип или вид данных. Корневой узел всегда является контейнером.

Признак массив показывает, что в пределах одного родительского узла может содержаться более одного экземпляра данного узла. Минимальное количество экземпляров узла равно 0, и не настраивается. Исключение составляет корневой узел: для него минимальное количество экземпляров равно 0, если он является массивом, и 1 - если не является.

Древовидная структура данных в Loginom :

  • подходит для организации данных, которые имеют иерархическую форму;
  • корректно конвертируется в JSON и XML файлы, позволяя принимать и отдавать сторонним системам иерархическую информацию;
  • облегчает навигацию и фильтрацию по данным на разных уровнях;
  • отображает отношения и зависимости между элементами данных.


Статьи в разделе: