1. A computer program product embodied on a non-transitory computer readable medium, comprising: computer code for identifying a plurality of data objects stored in one or more databases; computer code for identifying a plurality of attributes associated with each of the plurality of data objects, including for each of the plurality of data objects: retrieving from the one or more databases a first subset of attributes for the data object that are stored in association with the data object, and deriving a second subset of attributes for the data object that are not stored in association with the data object, wherein at least one attribute in the second set of attributes is derived by being taken from another data object related to the data object; computer code for identifying a plurality of relationships associated with each of the plurality of data objects; computer code for filtering the plurality of data objects, the plurality of attributes, and the plurality of relationships based on predefined criteria to generate a first subset of data objects, a first subset of attributes, and a first subset of relationships; computer code for allowing a user to access, through a user interface, at least a metadata representation of the first subset of data objects, the first subset of attributes, and the first subset of relationships, and receiving a selection from the user through the user interface, including: (a) presenting, in a first window, a list of object classes, (b) receiving, from the user through the first window, a selection of one of the presented object classes, (c) in response to the selection in (b), presenting through the first window a list of selectable attributes from the first subset of attributes, (d) receiving, from the user through the first window, a selection of one or more of the presented attributes, (e) executing a search based on the selected object class and the selected one or more attributes, (f) presenting, through the first window, results of the executed search including objects of the first subset of data objects that are of the selected object class and that have the selected one or more attributes, the results being presented with a list of context buttons that are based on available relationships of the first subset of relationships that are with the objects presented as the results, (g) receiving, from the user through the first window, a selection of one of the objects presented as the results and a selection of one of the context buttons, and (h) presenting, in a second window, the selected object with the relationship associated with the selected context button being presented as filtering criteria; computer code for automatically generating a search query based on the selected object and the relationship from (h); computer code for searching the one or more databases utilizing the search query; and computer code for displaying results of the search query utilizing the user interface.