Taxonomy structure
In information-theoretic terms, the structure of a taxonomy is either a tree (or trees), or at least a directed acyclic graph (DAG) or set of DAGS. Each category object is a vertex in the tree or DAG, and the “children” property of each category object lists the set of outgoing edges. Each category object has a unique ID. In addition, category objects have an optional property called a “parameter”, which is a list of named attributes associated with that category. These parameters values from the taxonomy are added to search queries over the primary collection. In addition, every category object has a property “version” which is managed by Fusion and used to ensure that concurrent updates to the same category do not conflict with each other. The value of this property corresponds to the system clock time in milliseconds. This value is set and updated by Fusion and need only be specified overtly when sending category update requests. Given the above specification, the set of property: values for a category object is:- id: a unique string identifier.
- children: a list of category objects.
- parameters: a list of named attributes associated with that category where each attribute is specified as a pair of strings key:value.
- version: a string corresponding to the integer value of some system clock in milliseconds.
JSON example of a taxonomy
The following example is part of a taxonomy for an online pet supply store. In this example, we have the following hierarchy of category id, label pairs:-
1 : “Pet Supplies”
-
11 “Cat Supplies”
- 111 “Cat Food”
- 112 “Cat Toys”
-
12 “Dog Supplies”
- 121 “Dog Food”
- 122 “Dog Toys”
-
11 “Cat Supplies”