1. A method for providing a requested data set: providing a mapping between a first schema based on a first data model and a second schema based on a second data model; receiving a first statement based on the first schema; composing a plurality of algebraic relations between data sets based on the first statement; receiving a second statement based on the second schema that requests the requested data set; and using at least one of the algebraic relations composed from the first statement and the mapping between the first schema and the second schema to provide the requested data set.