# US 8,572,122 B2 · Data schema and language

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,122 B2
- Document ID: US8572122B2
- Status: Granted
- Kind: B2
- Application number: 13/340,179
- Filed: 2011-12-29
- Published: 2013-07-04
- Granted: 2013-10-29
- Earliest claimed: 2011-12-29
- Assignees: Sap SE
- Applicants: Jean-Yves Cras; Bogdan Marinoiu; Gilles Vergnory-Mion; Yann Le Biannic
- Inventors: Jean-Yves Cras; Bogdan Marinoiu; Gilles Vergnory-Mion; Yann Le Biannic
- Web page: https://patentgrep.com/patent/US8572122B2

## CPC

- G06F 16/2455: Query execution
- G06F 16/24524: {Access plan code generation and invalidation; Reuse of access plans}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system includes reception of a logical schema associated with a data store, generation of an input schema based on the logical schema, reception of an expression having a type of the input schema and representing the topology of a data set, the data set being an instance of the input schema, compilation of the expression to a data specification based on the input schema, and generation of a plan to execute on the data store based on the data specification.

## Claims

### Claim 1

A non-transitory computer-readable medium storing program code, the program code executable by a processor of a computing system to cause the computing system to:
receive a logical schema associated with a data store;
generate an input schema based on the logical schema;
receive an expression having a type of the input schema and representing the topology of a data set, the data set being an instance of the input schema;
compile the expression to a data specification based on the input schema;
generate a plan to execute on the data store based on the data specification;
transmit the input schema to a client device;
receive the expression from the client device;
generate the type of the expression based on the expression; and
transmit the type of the expression to the client device.

### Claim 2 (depends on 1)

A non-transitory computer-readable medium according to claim 1, wherein the input schema comprises only attributes related by associated dependencies,
wherein a dependency represents a relation or constraint between sets of values of its associated attributes.

### Claim 3 (depends on 1)

A non-transitory computer-readable medium according to claim 1, the program code further executable by a processor of a computing system to cause the computing system to:
receive a second logical schema associated with the data store; and
generate the logical schema based on the second logical schema.

### Claim 4 (depends on 3)

A non-transitory computer-readable medium according to claim 3, wherein the input schema comprises only attributes related by dependencies,
wherein a dependency represents a relation or constraint between sets of values of its associated attributes.

### Claim 5 (depends on 1)

A non-transitory computer-readable medium according to claim 1, wherein the topology of the data set comprises two fact tables and two or more independent dimension tables, and wherein the two fact tables share a first at least one of the two or more dimension tables and do not share a second at least one of the two or more dimension tables.

### Claim 6

A computer-implemented method comprising:
receiving a logical schema associated with a data store;
generating an input schema based on the logical schema;
receiving an expression having a type of the input schema and representing the topology of a data set, the data set being an instance of the input schema;
compiling the expression to a data specification based on the input schema;
generating a plan to execute on the data store based on the data specification;
transmitting the input schema to a client device;
receiving the expression from the client device;
generating the type of the expression based on the expression; and
transmitting the type of the expression to the client device.

### Claim 7 (depends on 6)

A method according to claim 6, wherein the input schema comprises only attributes related by associated dependencies,
wherein a dependency represents a relation or constraint between sets of values of its associated attributes.

### Claim 8 (depends on 6)

A method according to claim 6, further comprising:
receiving a second logical schema associated with the data store; and
generating the logical schema based on the second logical schema.

### Claim 9 (depends on 8)

A method according to claim 8, wherein the input schema comprises only attributes related by dependencies,
wherein a dependency represents a relation or constraint between sets of values of its associated attributes.

### Claim 10 (depends on 6)

A method according to claim 6, wherein the topology of the data set comprises two fact tables and two or more independent dimension tables, and wherein the two fact tables share a first at least one of the two or more dimension tables and do not share a second at least one of the two or more dimension tables.

### Claim 11

A system comprising:
a data storage device storing data;
a computing device comprising:
a memory storing processor-executable program code; and
a processor to execute the processor-executable program code in order to cause the computing device to:
receive a logical schema associated with a data store;
generate an input schema based on the logical schema;
receive an expression having a type of the input schema and representing the topology of a data set, the data set being an instance of the input schema;
compile the expression to a data specification based on the input schema; and
generate a plan to execute on the data store based on the data specification;
transmit the input schema to a client device;
receive the expression from the client device;
generate the type of the expression based on the expression; and
transmit the type of the expression to the client device.

### Claim 12 (depends on 11)

A system according to claim 11, wherein the input schema comprises only attributes related by associated dependencies,
wherein a dependency represents a relation or constraint between sets of values of its associated attributes.

### Claim 13 (depends on 11)

A system according to claim 11, the processor to further execute the processor-executable program code in order to cause the computing device to:
receive a second logical schema associated with the data store; and
generate the logical schema based on the second logical schema.

### Claim 14 (depends on 13)

A system according to claim 13, wherein the input schema comprises only attributes related by dependencies,
wherein a dependency represents a relation or constraint between sets of values of its associated attributes.

### Claim 15 (depends on 11)

A system according to claim 11, wherein the topology of the data set comprises two fact tables and two or more independent dimension tables, and wherein the two fact tables share a first at least one of the two or more dimension tables and do not share a second at least one of the two or more dimension tables.
