# US 12,216,650 B2 · System and method for use of a fragmented query model in an analytic applications environment

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

- Number: US 12,216,650 B2
- Document ID: US12216650B2
- Status: Granted
- Kind: B2
- Application number: 17/376,895
- Filed: 2021-07-15
- Published: 2022-03-31
- Granted: 2025-02-04
- Earliest claimed: 2020-09-25
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Joseph Kuttikat; Ananth Venkata; Pavan Ananthamurthy; Balaji Krishnan
- Web page: https://patentgrep.com/patent/US12216650B2

## CPC

- G06F 16/213: {with details for schema evolution support}
- G06F 16/2448: {for particular applications; for extensibility, e.g. user defined types}
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In accordance with an embodiment, described herein is a system and method for providing extensibility in an analytic applications environment, including a semantic layer that enables the use of custom semantic extensions to extend a semantic data model (semantic model). In accordance with an embodiment, the system enables use of a fragmented query model—when customizations are made to the semantic model, the system can dynamically merge the changes from the various deltas when queries are generated at runtime, to dynamically surface appropriate data based on the extended semantic model.

## Claims

### Claim 1

A system for providing extensibility in an analytic applications environment, including support for fragmented query models, comprising:
a computer including one or more processors and a memory, that provides access by an analytic applications environment to at least one of a database or data warehouse for storage of data, and uses a semantic layer having a semantic model defined therein and as customized by one or more semantic extensions, to retrieve data from the database or data warehouse and provide content for display at a presentation layer, including that the semantic layer and the semantic model defined therein comprises:
an initial or base semantic model operable to provide a packaged content from the database or data warehouse to the presentation layer; and
the one or more semantic extensions that modify the semantic model by extending the base semantic model incrementally through a series of commits of changes to the base semantic model that are recorded in layers or namespaces of the semantic model as delta changes to the base semantic model;
wherein changes to the semantic model are recorded in a layered namespace comprising a plurality of hierarchical extension layers defining changes to the semantic model by the semantic extensions as the series of commits, and are processed as changes to the semantic model, including that each change provides an incremental change to the semantic model;
wherein creation and management of the semantic extensions is based on version-controlled artifacts representing the extension layers, wherein each of a plurality of extension artifacts can be independently version-controlled within each of the extension layers;
wherein the system retrieves the data from the database or data warehouse in response to requests, and processes the data in accordance with the semantic model as customized by the one or more semantic extensions;
wherein a representation of the semantic model, together with the changes to the semantic model as defined by the one or more semantic extensions that modify the semantic model, are saved as a flattened map of key value pairs, wherein each key value pair has a key, data type, and data value associated therewith, including a first set of key value pairs associated with a base semantic model, and one or more additional sets of key value pairs associated with the semantic extensions;
wherein the representation of the semantic model, together with the changes to the semantic model as defined by the one or more semantic extensions, is cached in memory as a data structure comprising the key value pairs; and
wherein in response to queries generated at runtime, the system:
dynamically merges the changes defined by the one or more semantic extensions that modify the semantic model and that are recorded in layers or namespaces of the semantic model as delta changes, with the base semantic model, by combining the sets of key value pairs in response to a query for data, and
retrieves a corresponding data from the database or data warehouse, to surface data to the presentation layer, based on the representation of the semantic model as customized by the one or more semantic extensions and cached in memory as the data structure comprising the key value pairs.

### Claim 2 (depends on 1)

The system of claim 1, wherein the representation of the semantic model, and changes to the semantic model as defined by the one or more semantic extensions, that is cached as a data structure in memory, is used in combination with a data plane that provides access to a data warehouse.

### Claim 3 (depends on 1)

The system of claim 1, wherein the system performs an extract, transform, load process in accordance with an analytic applications schema, and a customer schema associated with a tenant, to receive data from an enterprise software application or data environment, for loading into a data warehouse instance.

### Claim 4 (depends on 1)

The system of claim 1, wherein the analytic applications environment is provided within an analytics cloud environment.

### Claim 5 (depends on 3)

The system of claim 3, wherein the analytic applications environment includes, for each tenant of a plurality of tenants, a customer schema that allows the tenant to supplement and utilize data within a data warehouse instance associated with the tenant.

### Claim 6 (depends on 1)

The system of claim 1, wherein changes to the semantic model are recorded in a layered namespace, wherein the layered namespace is defined by an XML content file artifact having a plurality of regions within the XML content associated with layers of the semantic model, wherein a change associated with a particular layer of the layered namespace is defined within a corresponding region of the file artifact.

### Claim 7

A method for providing extensibility in an analytic applications environment, including support for fragmented query models, comprising:
providing, at a computer including one or more processors and a memory, an analytic applications environment that provides access to at least one of a database or data warehouse for storage of data, and uses a semantic layer having a semantic model defined therein and as customized by one or more semantic extensions, to retrieve data from the database or data warehouse and provide content for display at a presentation layer, including that the semantic layer and the semantic model defined therein comprises:
an initial or base semantic model operable to provide a packaged content from the database or data warehouse to the presentation layer; and
the one or more semantic extensions that modify the semantic model by extending the base semantic model incrementally through a series of commits of changes to the base semantic model that are recorded in layers or namespaces of the semantic model as delta changes to the base semantic model;
wherein changes to the semantic model are recorded in a layered namespace comprising a plurality of hierarchical extension layers defining changes to the semantic model by the semantic extensions as the series of commits, and are processed as changes to the semantic model, including that each change provides an incremental change to the semantic model;
wherein creation and management of the semantic extensions is based on version-controlled artifacts representing the extension layers, wherein each of a plurality of extension artifacts can be independently version-controlled within each of the extension layers;
saving a representation of the semantic model, together with the changes to the semantic model as defined by the one or more semantic extensions that modify the semantic mode, as a flattened map of key value pairs, wherein each key value pair has a key, data type, and data value associated therewith, including a first set of key value pairs associated with a base semantic model, and one or more additional sets of key value pairs associated with the semantic extensions, wherein the representation of the semantic model, together with the changes to the semantic model as defined by the one or more semantic extensions, is cached in memory as a data structure comprising the key value pairs; and
retrieving data from the database or data warehouse in response to queries generated at runtime, including:
dynamically merging the changes defined by the one or more semantic extensions that modify the semantic model and that are recorded in layers or namespaces of the semantic model as delta changes, with the base semantic model, by combining the sets of key value pairs in response to a query for data, and
retrieving corresponding data from the database or data warehouse, to surface data to the presentation layer, based on the representation of the semantic model as customized by the one or more semantic extensions and cached in memory as the data structure comprising the key value pairs.

### Claim 8 (depends on 7)

The method of claim 7, wherein the representation of the semantic model, and changes to the semantic model as defined by the one or more semantic extensions, that is cached as a data structure in memory, is used in combination with a data plane that provides access to a data warehouse.

### Claim 9 (depends on 7)

The method of claim 7, further comprising performing an extract, transform, load process in accordance with an analytic applications schema, and a customer schema associated with a tenant, to receive data from an enterprise software application or data environment, for loading into a data warehouse instance.

### Claim 10 (depends on 7)

The method of claim 7, wherein the analytic applications environment is provided within an analytics cloud environment.

### Claim 11 (depends on 9)

The method of claim 9, wherein the analytic applications environment includes, for each tenant of a plurality of tenants, a customer schema that allows the tenant to supplement and utilize data within a data warehouse instance associated with the tenant.

### Claim 12 (depends on 7)

The method of claim 7, wherein changes to the semantic model are recorded in a layered namespace, wherein the layered namespace is defined by an XML content file artifact having a plurality of regions within the XML content associated with layers of the semantic model, wherein a change associated with a particular layer of the layered namespace is defined within a corresponding region of the file artifact.

### Claim 13

A non-transitory computer readable storage medium having instructions thereon, which when read and executed by a computer including one or more processors cause the computer to perform a method comprising:
providing, at a computer including one or more processors and a memory, an analytic applications environment that provides access to at least one of a database or data warehouse for storage of data, and uses a semantic layer having a semantic model defined therein and as customized by one or more semantic extensions, to retrieve data from the database or data warehouse and provide content for display at a presentation layer, including that the semantic layer and the semantic model defined therein comprises:
an initial or base semantic model operable to provide a packaged content from the database or data warehouse to the presentation layer; and
the one or more semantic extensions that modify the semantic model by extending the base semantic model incrementally through a series of commits of changes to the base semantic model that are recorded in layers or namespaces of the semantic model as delta changes to the base semantic model;
wherein changes to the semantic model are recorded in a layered namespace comprising a plurality of hierarchical extension layers defining changes to the semantic model by the semantic extensions as the series of commits, and are processed as changes to the semantic model, including that each change provides an incremental change to the semantic model;
wherein creation and management of the semantic extensions is based on version-controlled artifacts representing the extension layers, wherein each of a plurality of extension artifacts can be independently version-controlled within each of the extension layers;
saving a representation of the semantic model, together with the changes to the semantic model as defined by the one or more semantic extensions that modify the semantic mode, as a flattened map of key value pairs, wherein each key value pair has a key, data type, and data value associated therewith, including a first set of key value pairs associated with a base semantic model, and one or more additional sets of key value pairs associated with the semantic extensions, wherein the representation of the semantic model, together with the changes to the semantic model as defined by the one or more semantic extensions, is cached in memory as a data structure comprising the key value pairs; and
retrieving data from the database or data warehouse in response to queries generated at runtime, including:
dynamically merging the changes defined by the one or more semantic extensions that modify the semantic model and that are recorded in layers or namespaces of the semantic model as delta changes, with the base semantic model, by combining the sets of key value pairs in response to a query for data, and
retrieving corresponding data from the database or data warehouse, to surface data to the presentation layer, based on the representation of the semantic model as customized by the one or more semantic extensions and cached in memory as the data structure comprising the key value pairs.

### Claim 14 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the representation of the semantic model, and changes to the semantic model as defined by the one or more semantic extensions, that is cached as a data structure in memory, is used in combination with a data plane that provides access to a data warehouse.

### Claim 15 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the method further comprises performing an extract, transform, load process in accordance with an analytic applications schema, and a customer schema associated with a tenant, to receive data from an enterprise software application or data environment, for loading into a data warehouse instance.
