Patent ID: 7783680

Claim:
A method for processing a schema mapping M from a source schema S to a target schema T, said method performed by executing program code on a processor of a computer system, said method comprising: determining a schema mapping M′ from T to S via processing the schema mapping M, said mapping M comprising at least one constraint σ, each constraint σ consisting of a source-to-target tuple-generating dependencies (s-t tgd), said schema mapping M′ comprising at least one constraint σ′, each constraint σ′ consisting of a disjunctive tgd with constants and inequalities among the constants; and storing the schema mapping M′ in at least one computer usable storage device of the computer system and/or outputting the schema mapping M′ in at least one output device of the computer system, wherein said determining the schema mapping M′ comprises: creating an equivalent schema mapping M* from M, wherein M* comprises at least one constraint σ*, said at least one constraint σ* being a function of said at least one constraint σ; and generating the at least one constraint σ′ by inverting each constraint σ* in M* to generate the schema mapping M′ consisting of the at least one constraint σ′, wherein said creating M* comprises: for each constraint σ, determining a set x of variables appearing both in a premise and a conclusion of each constraint σ and forming a conjunction of well-typed equalities among members of x with each constraint σ to generate at least one constraint σ″; and creating M* by forming a union of the at least one constraint σ″ and the at least one constraint σ, wherein said inverting each constraint σ* in M comprises: constructing a set G of minimal generators for a conclusion of each constraint σ* of M*; and inverting each constraint σ* in M* through use of the set G pertaining to each constraint σ*, wherein said constructing the set G of minimal generators comprises: setting a set G′ to an empty set; adding, to the empty set G′, a set of generators for the conclusion of each constraint σ*, wherein each generator of the set of generators comprises a plurality of relational atoms; after said adding, removing from G′ each generator determined to not be a minimal generator satisfying a condition of non-existence of any generator of the set of generators that is a conjunction of a strict subset of the relational atoms in the minimal generator, said removing resulting in G′ becoming the set G of minimal generators.