An Ordered Labeled Tree(OLT) is a data structure that consists of nodes
with labels and children, where the children are nodes themselves.
The order of the children is significant. There are a number of
algorithms for calculating the difference (like the
diff command does
for text data) for these data structures.
This module takes a JSON data structure and creates a corresponding OLT.
Note that each node has up to four fields:
This is not a problem, since the set [type, name, value] can be considered as the label of the node.
See Simple fast algorithms for the editing distance between trees and related problems by K. Zhang and D. Shasha.