Дерево данных
Дерево — одна из популярных структур хранения и передачи данных.
Древовидную структуру представления информации используют такие универсальные форматы обмена, как JSON и XML. Они хранят информацию в виде пар «ключ-значение», упорядоченных списков и других объектов, которые также могут быть вложенными.
Деревья обеспечивают большую гибкость, позволяют описывать сложные объекты. Однако большинство алгоритмов анализа данных ориентированы на обработку более простых структур — плоских таблиц.
Loginom предоставляет механизмы, которые позволяют обрабатывать древовидные структуры, преобразовывая их в таблицы и обратно - это компоненты Дерево в таблицу и Таблица в дерево. Древовидные данные можно передавать на вход и выход узлов (аналогично набору данных и переменным) через порт соответствующего типа, а также передавать в опубликованный пакет через Интегратор (т.е. можно опубликовать веб-сервис со структурой ответа и запроса в виде дерева данных, как это было в Deductor (DIS)).
В Loginom дерево - это набор связанных узлов. Первый узел дерева называется корнем. Корневой узел всегда один. Если узел соединен с другим узлом, то он является родительским, а связанный с ним узел — дочерним.
Узлы дерева могут иметь признаки контейнер и массив.
Контейнер - это узел, который может содержать дочерние узлы (при этом количество дочерних узлов может быть равно 0), но не может содержать значение. У узла-контейнера невозможно задать тип или вид данных. Корневой узел всегда является контейнером.
Признак массив показывает, что в пределах одного родительского узла может содержаться более одного экземпляра данного узла. Минимальное количество экземпляров узла равно 0, и не настраивается. Исключение составляет корневой узел: для него минимальное количество экземпляров равно 0, если он является массивом, и 1 - если не является.
Древовидная структура данных в Loginom :
- подходит для организации данных, которые имеют иерархическую форму;
- корректно конвертируется в JSON и XML файлы, позволяя принимать и отдавать сторонним системам иерархическую информацию;
- облегчает навигацию и фильтрацию по данным на разных уровнях;
- отображает отношения и зависимости между элементами данных.
Статьи в разделе: