Patent ID: 8914343

Claim:
A method of obtaining and aggregating keys of objects, comprising: obtaining a primary object input comprising a primary object of a hierarchical database, by receiving a set of parameters passed as inputs, the parameters including a name of a results table, the object type of the primary object input and the at least one primary key; storing the primary object as an entry in a parent keys storage by storing the object type of the primary object input and the at least one primary key, the entry identified as unvisited; storing the primary object as an entry in a child keys storage by storing the object type of the primary object input and the at least one primary key, the entry identified as unvisited; performing, using a processor, an object evaluation process until all unique entries in the parent keys storage and all unique entries in the child keys storage have been visited, wherein the object evaluation process selects related objects of the primary object by: visiting each unvisited object in the parent keys storage to select related parent keys objects by: selecting, for the unvisited object, related objects comprising parent objects in the parent direction that have not already been visited and child objects in the parent direction that have not already been visited; and inserting the selected related objects as entries in the parent keys storage identified as unvisited; and visiting each unvisited object in the child keys storage to select related child keys objects by: selecting, for the unvisited object, related objects comprising child objects in the child direction that have not already been visited and parent objects in the child direction that have not already been visited; and inserting the selected related objects as entries in the child keys storage identified as unvisited; and committing, using the processor, the keys of at least one related object as an entry to the hierarchical database.