Patent ID: 7899833

Claim:
A computer-implemented method of determining information related to a first set of one or more data objects of a plurality of data objects in a database, including: receiving data that specifies a composition of a plurality of actions, the composition including a specification of a first navigation action and a specification of a filter action that includes a specification of a second navigation action, wherein the specification of each navigation action includes a first value that specifies a relationship between different data objects and a second value that specifies a relationship type of a plurality of relationship types; determining the information related to the first set of one or more data objects by applying the composition of the plurality of actions to the first set of one or more data objects, including: applying the filter action to produce an intermediate set of one or more data objects from the first set of one or more data objects wherein the intermediate set of one or more data objects includes each data object in the first set of one or more data objects for which applying the second navigation action to the data object produces one or more result data objects and the intermediate set of one or more data objects does not include each data object in the first set of one or more data objects for which applying the second navigation action to the data object produces no result data objects; applying the first navigation action to the intermediate set of one or more data objects to generate a final set of one or more data objects; and determining the information related to the first set of one or more data objects based on the final set of one or more data objects; presenting to a user a result based on the information related to the first set of one or more data objects; wherein applying the composition of the plurality of actions includes recursive application of at least one of the first navigation action and the second navigation action; and accepting a specification of a visual representation of information about one or more of the plurality of data objects in the database, the specification of the visual representation of information including the specification of the composition of the plurality of actions; wherein presenting to the user the result based on the information related to the first set of one or more data objects includes presenting to the user the visual representation including the information related to the first set of one or more data objects; and wherein the specification of the first navigation action includes a function whose arguments include a category of data objects as the second value and a name of an annotation rule specifying the relationship as the first value.