1. A method for processing data in one or more data storage systems, the method including: receiving mapping information that specifies one or more attributes of one or more destination entities in terms of one or more attributes of one or more source entities, at least some of the one or more source entities corresponding to respective sets of records in the one or more data storage systems; and processing the mapping information to generate a procedural specification for computing values corresponding to at least some of the one or more attributes of one or more destination entities, the processing including generating a plurality of collections of nodes, each collection including a first node representing a first relational expression associated with an attribute specified by the mapping information, and at least some collections forming a directed acyclic graph that includes links to one or more other nodes representing respective relational expressions associated with at least one attribute of at least one source entity referenced by a relational expression of a node in the directed acyclic graph, and merging at least two of the collections with each other to form a third collection based on comparing relational expressions of nodes being merged.