1. A method including: receiving a specification of multiple contexts, in which some of the contexts are related according to a hierarchy; determining relationships among three or more metadata objects, in which at least some of the metadata objects represent data elements and at least some of the metadata objects represent transformations of data provided by the data elements, for a given metadata object of the metadata objects, the relationships among the metadata objects include one or more of: relationships between the given metadata object and one or more metadata objects on which the given metadata object depends, and relationships between the given metadata object and one or more metadata objects that depend on the given metadata object; grouping at least some of the metadata objects into one or more respective groups, each of at least some of the groups being based on a selected one of the contexts, at least two groups being associated with different contexts; representing the at least some metadata objects by a diagram having nodes, each node representing a metadata object or a group of metadata objects; determining relationships among the nodes based on the relationships among the metadata objects or the groups; determining groupings of the nodes based on the groupings of the metadata objects; and generating a visual representation of the diagram including the nodes and the relationships among the nodes, the diagram including a first group of two or more nodes representing two or more data elements, the first group of two or more nodes being associated with a first context in the received specification, and a second group of two or more nodes representing two or more transformations of data, the second group of two or more nodes being associated with a second context in the received specification, the second context being different from the first context.