Systems and methods for data model mapping
First Claim
1. A computer system implemented method for providing a requested data set based on a first schema, the computer system comprising at least one processor, memory and a data store, the method comprising:
- providing a mapping in the memory between the first schema based on a first data model and a second schema based on a second data model, wherein the first data model is a different data model than the second data model;
providing a relation store in the memory;
receiving a first plurality of statements based on the first schema and the first data model requesting a first plurality of data sets;
composing a first plurality of algebraic relations between data sets based on the first plurality of statements, wherein each of the algebraic relations in the first plurality of algebraic relations comprises a respective first expression including a symbolic representation of at least a first respective data set, a respective second expression including a symbolic representation of at least a second respective data set, and a relational operator symbolically defining a mathematical relationship between the respective first expression and the respective second expression;
storing the first plurality of algebraic relations between data sets in the relation store;
receiving a second plurality of statements based on the second schema and the second data model requesting a second plurality of data sets;
composing a second plurality of algebraic relations between data sets based on the second plurality of statements, wherein each of the algebraic relations in the second plurality of algebraic relations comprises a respective first expression including a symbolic representation of at least a first respective data set, a respective second expression including a symbolic representation of at least a second respective data set, and a relational operator symbolically defining a mathematical relationship between the respective first expression and the respective second expression;
storing the second plurality of algebraic relations between data sets in the relation store;
retrieving at least one algebraic relation from the first plurality of algebraic relations from the relation store, and retrieving at least one algebraic relation from the second plurality of algebraic relations from the relation store;
composing an algebraic relation defining a result equal to the requested data set based, at least in part, on the at least one algebraic relation from the first plurality of algebraic relations and the at least one algebraic relation from the second plurality of algebraic relations; and
using the algebraic relation defining a result equal to the requested data set and the mapping between the first schema and the second schema to provide the requested data set.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for data storage and retrieval using data model mapping. Statements may be presented to the system based on different schema and data models. Algebraic relations between data sets may be composed from the statements. Mappings are provided between the different schema and data models to allow algebraic relations based on one schema and data model to be used in providing a requested data set based on a different schema and data model. Algebraic optimization may also be performed to select among algebraic relations to be used for providing the requested data set, including algebraic relations based on different schemas and data models. As a result, optimization may be performed across a broader set of possible algebraic relations to provide the requested data set.
-
Citations
18 Claims
-
1. A computer system implemented method for providing a requested data set based on a first schema, the computer system comprising at least one processor, memory and a data store, the method comprising:
-
providing a mapping in the memory between the first schema based on a first data model and a second schema based on a second data model, wherein the first data model is a different data model than the second data model; providing a relation store in the memory; receiving a first plurality of statements based on the first schema and the first data model requesting a first plurality of data sets; composing a first plurality of algebraic relations between data sets based on the first plurality of statements, wherein each of the algebraic relations in the first plurality of algebraic relations comprises a respective first expression including a symbolic representation of at least a first respective data set, a respective second expression including a symbolic representation of at least a second respective data set, and a relational operator symbolically defining a mathematical relationship between the respective first expression and the respective second expression; storing the first plurality of algebraic relations between data sets in the relation store; receiving a second plurality of statements based on the second schema and the second data model requesting a second plurality of data sets; composing a second plurality of algebraic relations between data sets based on the second plurality of statements, wherein each of the algebraic relations in the second plurality of algebraic relations comprises a respective first expression including a symbolic representation of at least a first respective data set, a respective second expression including a symbolic representation of at least a second respective data set, and a relational operator symbolically defining a mathematical relationship between the respective first expression and the respective second expression; storing the second plurality of algebraic relations between data sets in the relation store; retrieving at least one algebraic relation from the first plurality of algebraic relations from the relation store, and retrieving at least one algebraic relation from the second plurality of algebraic relations from the relation store; composing an algebraic relation defining a result equal to the requested data set based, at least in part, on the at least one algebraic relation from the first plurality of algebraic relations and the at least one algebraic relation from the second plurality of algebraic relations; and using the algebraic relation defining a result equal to the requested data set and the mapping between the first schema and the second schema to provide the requested data set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification