Patent ID: 11907296
Assignee: INTUIT INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 19:
20. A method for enumerating relationships between objects in an object graph, comprising:
receiving a request to traverse an object graph, wherein:
the object graph includes a plurality of objects, and
the request includes a specification of a discovery mechanism defining functions for processing objects discovered in the object graph based on a context of the discovered objects and initial set of context variables for traversing the object graph;

generating a root context object;
generating a particular traversal context object associated with a root node of the object graph;
linking the particular traversal context object to the root context object;
adding the particular traversal context object to a traversal data structure; and
traversing the object graph by adding and removing additional traversal context objects to and from the traversal data structure until a terminating event occurs, wherein traversing the graph comprises:
for each respective object in the traversal data structure, performing one or more of the defined functions in the discovery mechanism with respect to the respective object, and
upon determining that the respective object has a pre-order traversal context:
discovering one or more children objects in the object graph,
generating additional traversal context objects for the discovered children objects, and
adding the generated additional traversal context objects to the traversal data structure.