1. A method of generating a set of well organized query results, comprising: receiving, from a requesting an entity, an abstract query composed from a plurality of logical fields, wherein each logical field specifies (i) a name used to identify the logical field, and (ii) an access method that maps the logical field to data in an underlying database; retrieving a first set of query results for the abstract query from the underlying database; and transforming the first set of query results into a second set of query results wherein the second set of query results are organized according to a set of one-to-one and one-to-many relationships specified for the plurality of logical fields.