Patent ID: 11966401
Assignee: ACTIONIQ
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A computer-implemented system comprising:
a storage, and
a processor that receives a query,
generates a query tree from the query, wherein the query tree comprises nodes, wherein at least two of the nodes are operation nodes;
generates a respective identifier for each respective node of the nodes of the query tree;
stores each respective identifier in the respective node of the nodes of the query tree for which each respective identifier was generated;
determines one or more of the nodes of the query tree that meet at least one criteria for being labeled nodes, wherein a first of the at least one criteria for being a labeled node comprises having a number of child nodes greater than a threshold value for child nodes, and wherein at least one of the one or more nodes of the query tree meets the first of the at least one criteria;
stores labels in the one or more of the nodes of the query tree determined to meet at least one criteria for being labeled nodes to generate a labeled query tree comprising all of the nodes of the query tree;
processes the labeled query tree by, for each respective node of the labeled query tree:
determining whether the respective identifier stored in the respective node matches any identifier for any entry in a results data structure, and either:
if the respective identifier of the respective node matches any identifier for any entry in the results data structure, receiving results from the entry in the results data structure with the identifier that matches the respective identifier stored in the respective node and returning the results from the entry as the results for the respective node, or,
if the respective identifier stored in the respective node does not match any identifier for any entry in the results data structure:
generating new results for the respective node by computing the respective node,
if the respective node has a label, storing a new entry in the results data structure comprising the new results for the respective node and the respective identifier stored in the respective node,
if the respective node does not have a label, not storing the new entry in the results data structure, and
returning the new results for the respective node; and
storing the results data structure.