The inversion of schema mappings has been identified as one of the fundamental operators for the development of a general framework for data exchange, data integration, and more generally, for metadata management. Given a mapping M from a schema S to a schema T,

an inverse of M is a new mapping that describes the reverse relationship fromT to S, and that is semantically consistent with the relationship previously established by M. In practical scenarios, the inversion of a schema mapping can have several applications.

For example, in a data exchange context, if a mapping M is used to exchange data from a source to a target schema, an inverse of M can be used to exchange the data back to the source, thus reversing the application of M.

The formalization of a clear semantics for the inverse operator has proved to be a very difficult task. In fact, during the last years, several alternative notions of inversion for schema mappings have been proposed in the literature. This chapter provides a survey on the different formalizations for the inverse operator and the main theoretical and practical results obtained so far. In particular, we present and compare the main proposals for inverting schema mappings that have been considered in the literature. For each one of them we present their formal semantics and characterizations of their existence. We also present algorithms to compute inverses and study the language needed to express such inverses.