| CPC G06F 16/2448 (2019.01) [G06F 16/254 (2019.01); G06F 16/258 (2019.01); G06F 16/283 (2019.01)] | 15 Claims |

|
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.
|