1. A method for composing queries comprising: providing a plurality of pre-defined abstract queries, wherein each pre-defined abstract query is composed of at least one logical field of a plurality of logical fields defined by a data abstraction model, the data abstraction model comprising logical field definitions mapped to physical data structures of a data repository, and wherein the pre-defined abstract queries are configured to retrieve data from the data repository by referencing the data abstraction model; receiving a first selection, from a user, of an abstract query from the plurality of pre-defined abstract queries; on the basis of the selected abstract query, determining one or more display profiles that can be applied to the selected abstract query, wherein the display profiles comprise a plurality of abstract query conditions; receiving a second selection, from the user, of a display profile from the one or more display profiles determined to be applicable to the selected abstract query; transforming the selected abstract query to an executable query of a given query language by referencing the data abstraction model; transforming the selected display profile into a transformed instance of the selected display profile by referencing the data abstraction model, wherein the transformed instance of the selected display profile is in the given query language; and generating, by operation of one or more computer processors, a merged executable query by combining the executable query and the transformed instance of the selected display profile, wherein the syntax of the executable query is preserved in the merged executable query, comprising: identifying a common physical field of the data repository that is mapped to by both a first logical field from the selected abstract query and a second logical field from the selected display profile; and linking the executable query and the transformed instance of the selected display profile at a join point defined by the identified common physical field.