Automated spreadsheet exchange and integration
AssigneeConexus ai, Inc.
InventorsRyan Jacob Wisnesky, Joshua Meyers, Eric Alexander Daimler
Life of this patent
Estimating the term…
Abstract
A system and method are disclosed for merging multiple spreadsheets into one sheet, and/or exchanging data among the sheets, by expressing each sheet's formulae as an algebraic (equational) theory and each sheet's values as a model of its theory, and then performing one or more of “Kan-extension”, “psuedo-colimit”, and “lifting”, and constructions from category theory, to compute a canonically “universal” integrated theory and model, which can then be expressed as a spreadsheet and from which projections back to the sources are easily constructed.
Claims20
A system, comprising:
- a memory configured to store a first set of data associated with a source schema and a second set of data associated with a target schema;
- a processor coupled to the memory and configured to:
- read, from the memory, the first set of data associated with the source schema and the second set of data associated with the target schema;
- in response to the reading of the first set of data and the second set of data, combine the first set of data with the second set of data to generate a combined set of data according to the target schema, at least in part by:
- receiving a mapping that associates a first data type and a second data type of the source schema to a corresponding data type of the target schema;
- and
- executing computer code implementing a chase algorithm to compute, in parallel via parallel chase engines, a left Kan extension of the first set of data along with the mapping, wherein the left Kan extension equates a first instance of the first data type and a second instance of the second data type as a single instance of the corresponding data type;
- and
- generate a spreadsheet representation of the combined set of data according to the target schema;
- wherein the second set of data includes a derived column of data determined by applying to one or more other values included in the second set of data an equation having an equation pattern and wherein computing the left Kan extension preserves the equation pattern as expressed in a corresponding column of the spreadsheet representation of the combined set of data according to the target schema;
- and
- minimizing memory usage by storing, in the memory, cardinalities and lists of data instead of data sets to generate the combined set of data.
A computer-implemented method, comprising:
- storing, in a memory of a computer system, a first set of data associated with a source schema and a second set of data associated with a target schema;
- reading, from the memory, the first set of data associated with the source schema and the second set of data associated with the target schema;
- and
- in response to the reading of the first set of data and the second set of data, combining, by the computer system, the first set of data with the second set of data to generate a combined set of data according to the target schema, at least in part by:
- receiving, by the computer system, a mapping that associates a first data type and a second data type of the source schema to a corresponding data type of the target schema;
- executing, by the computer system, computer code implementing a chase algorithm to compute, in parallel via parallel chase engines, a left Kan extension of the first set of data along with the mapping, wherein the left Kan extension equates a first instance of the first data type and a second instance of the second data type as a single instance of the corresponding data type;
- and
- generating, by the computer system, a spreadsheet representation of the combined set of data according to the target schema;
- wherein the second set of data includes a derived column of data determined by applying to one or more other values included in the second set of data an equation having an equation pattern and wherein computing the left Kan extension preserves the equation pattern as expressed in a corresponding column of the spreadsheet representation of the combined set of data according to the target schema;
- and
- minimizing, by the computer system, memory usage by storing, in the memory, cardinalities and lists of data instead of data sets to generate the combined set of data.
A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:
- storing, in a memory of a computer system, a first set of data associated with a source schema and a second set of data associated with a target schema;
- reading, from the memory, the first set of data associated with the source schema and the second set of data associated with the target schema;
- and
- in response to the reading of the first set of data and the second set of data, combining, by the computer system, the first set of data with the second set of data to generate a combined set of data according to the target schema, at least in part by:
- receiving a mapping that associates a first data type and a second data type of the source schema to a corresponding data type of the target schema;
- executing computer code implementing a chase algorithm to compute, in parallel via parallel chase engines, a left Kan extension of the first set of data along with the mapping, wherein the left Kan extension equates a first instance of the first data type and a second instance of the second data type as a single instance of the corresponding data type;
- and
- generating a spreadsheet representation of the combined set of data according to the target schema;
- wherein the second set of data includes a derived column of data determined by applying to one or more other values included in the second set of data an equation having an equation pattern and wherein computing the left Kan extension preserves the equation pattern as expressed in a corresponding column of the spreadsheet representation of the combined set of data according to the target schema;
- and
- minimizing memory usage by storing, in the memory, cardinalities and lists of data instead of data sets to generate the combined set of data.
Dependencies are inferred from the claim text.