Ronald Fagin, Alan Nash
Journal of the ACM
A schema mapping is a specification that describes how data structured under one schema (the source schema) is to be transformed into data structured under a different schema (the target schema). Although the notion of an inverse of a schema mapping is important, the exact definition of an inverse mapping is somewhat elusive. This is because a schema mapping may associate many target instances with each source instance, and many source instances with each target instance. Based on the notion that the composition of a mapping and its inverse is the identity, we give a formal definition for what it means for a schema mapping M′ to be an inverse of a schema mapping M for a class S of source instances. We call such an inverse an S-inverse. A particular case of interest arises when S is the class of all source instances, in which case an S-inverse is a global inverse. We focus on the important and practical case of schema mappings specified by source-to-target tuple-generating dependencies, and uncover a rich theory. When S is specified by a set of dependencies with a finite chase, we show how to construct an S-inverse when one exists. In particular, we show how to construct a global inverse when one exists. Given M and M′, we show how to define the largest class S such that M′ is an S-inverse of M. © 2007 ACM.
Ronald Fagin, Alan Nash
Journal of the ACM
Ronald Fagin, Ravi Kumar, et al.
SIAM Journal on Discrete Mathematics
Shqiponja Ahmetaj, Vasilis Efthymiou, et al.
AAAI 2021
Ronald Fagin, Ravi Kumar, et al.
SODA 1998