Method and apparatus for elegant mapping between data models
First Claim
Patent Images
1. A computing device including a processing unit, the computing device also including:
- a software transformation element comprising instructions executed by the processing unit, the software transformation element causing transformation of data conforming to a first data model into data conforming to a second data model,wherein the instructions in said software transformation element are obtained from a set of programming language instructions that are semantically defined by mapping algebra for executing a bi-directional and compositional mapping between the first and the second data models, wherein the bi-directional mapping comprises;
a read operation that transforms a value of a source type to a value of a mapped target type, in accordance with a floor function of an algebraic expression; and
an update operation that takes the value of the source type and the value of the mapped target type and reconstructs therefrom, a modified value of the source type, in accordance with a ceiling function of the algebraic expression; and
the compositional mapping comprises at least one of an associative read operation using a pair of algebraic expressions, or an associative write operation using the pair of algebraic expressions.
2 Assignments
0 Petitions
Accused Products
Abstract
Data is requested by an XML application conforming to the XML data model. The data is stored in an SQL database conforming to the relational data model. A mapping component transforms the XML query into an SQL query using a mapping component comprising instructions obtained from an instruction set defined by a mapping algebra. The transformed operation is used to retrieve the data. Once retrieved, the algebraically defined mapping component transforms the SQL data from data conforming to the relational data model to data conforming to the XML data for use in the XML application.
32 Citations
42 Claims
-
1. A computing device including a processing unit, the computing device also including:
-
a software transformation element comprising instructions executed by the processing unit, the software transformation element causing transformation of data conforming to a first data model into data conforming to a second data model, wherein the instructions in said software transformation element are obtained from a set of programming language instructions that are semantically defined by mapping algebra for executing a bi-directional and compositional mapping between the first and the second data models, wherein the bi-directional mapping comprises; a read operation that transforms a value of a source type to a value of a mapped target type, in accordance with a floor function of an algebraic expression; and an update operation that takes the value of the source type and the value of the mapped target type and reconstructs therefrom, a modified value of the source type, in accordance with a ceiling function of the algebraic expression; and the compositional mapping comprises at least one of an associative read operation using a pair of algebraic expressions, or an associative write operation using the pair of algebraic expressions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for transforming data in a computer, the method comprising the steps of:
-
generating a first request in a software application of the computer; and
transforming the first request conforming to structure, field and relationship data within a first data model into a second request conforming to structure, field and relationship data within a second data model using a set of programming language instructions that are semantically defined by mapping algebra operators;said mapping algebra operators are selected for executing a bidirectional and compositional mapping between a target and a source, wherein; said bidirectional and compositional mapping is materialized using a type-based query language of the second data model and translated thereon into a type-based query language of the first data model for carrying out at least one of a) reading a data value from the source to the target, transforming the read data value using said mapping algebra operators, and then writing the transformed result back to the source, or b) writing a data value from the target to the source, transforming the written data value using said mapping algebra operators, and then reading the transformed value back to the target; the bi-directional mapping comprises; a read operation that transforms a value of a source type to a value of a mapped target type, in accordance with a floor function of an algebraic expression; and an update operation that takes the value of the source type and the value of the mapped target type and reconstructs therefore, a modified value of the source type, in accordance with a ceiling function of the algebraic expression; and the compositional mapping comprises at least one of an associative read operation using a pair of algebraic expressions, or an associative write operation using the pair of algebraic expressions. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer-readable medium having computer-executable instructions for performing steps comprising:
-
transforming structure, field and relationship data conforming to a first data model into structure, field and relationship data conforming to a second data model, by using a set of programming language instructions that are semantically defined by mapping algebra operators, wherein the mapping algebra operators are executed for providing a bi-directional and compositional mapping between the first and the second data models, the mapping materialized using a type-based query language of the second data model and translated thereon into a type-based query language of the first data model for carrying out at least one of a) reading a data value from a source to a target, transforming the read data value using said mapping algebra operators, and then writing the transformed result back to the source, or b) writing a data value from the target to the source, transforming the written data value using said mapping algebra operators, and then reading the transformed value back to the target, wherein; the bi-directional mapping comprises; a reading operation that transforms a value of a source type to a value of a mapped target type, in accordance with a floor function of an algebraic expression; and an update operation that takes the value of the source type and the value of the mapped target type and reconstructs therefrom, a modified value of the source type, in accordance with a ceiling function of the algebraic expression; and the compositional mapping comprises at least one of an associative read operation using a pair of algebraic expressions, or an associative write operation using the pair of algebraic expressions. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification