Location correlation between query script and data flow
US-2017091317-A1 · Mar 30, 2017 · US
US12554748B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12554748-B2 |
| Application number | US-202318540844-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 14, 2023 |
| Priority date | Aug 23, 2021 |
| Publication date | Feb 17, 2026 |
| Grant date | Feb 17, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method executes at a computing device having one or more processors and memory. The device identifies a set of objects for a data visualization platform, each object in the set of objects representing a database, a data source, a table, a data field, a user, a visualization worksheet, or a calculated field. The device generates a data model from the set of objects. Each object of the set of objects is represented as a node in the data model and each directed edge in the data model identifies a relationship between a pair of objects. The device generates one or more shortcuts in the data model according to object types of the objects in the set of objects. Each shortcut represents a relationship, between a respective pair of objects, not represented by a directed edge. Then the device stores the data model, including the generated shortcuts, in the memory.
Opening claim text (preview).
What is claimed is: 1 . A method for managing data performed at a computing device having one or more processors and memory storing one or more programs configured for execution by the one or more processors, the method comprising: identifying, by the one or more processors, a set of objects for a data visualization platform, each object in the set of objects representing a database, a data source, a table, a data field, a user, a visualization worksheet, or a calculated field; generating based on a schema model, by the one or more processors, a data model from the set of objects, wherein each object of the set of objects is represented as a node in the data model and each directed edge in the data model identifies a relationship between a pair of objects, wherein the data model includes shortcuts and a respective shortcut includes a source object, a target object, and a flow direction, and at least some of the shortcuts are persisted shortcuts; storing, in the memory, the data model, including the one or more shortcuts and the persisted shortcuts; and in response to receiving a query at the data visualization platform: resolving the query by using the one or more shortcuts, wherein resolving the query comprises parsing the query and determining that the query references objects that are associated with one or more shortcuts, wherein resolving the query includes: generating shortcut directed paths for the one or more shortcuts; determining relevant persisted shortcuts from the persisted shortcuts in the data model, wherein the relevant persisted shortcuts are persisted shortcuts that match data types included in the one or more shortcuts; replacing respective shortcuts with the relevant persisted shortcuts in the shortcut directed paths; and storing, in memory, the shortcut directed paths to be used for resolving subsequent queries. 2 . The method of claim 1 , wherein generating the shortcut directed paths comprises computing one or more closures by traversing the data model, wherein each closure comprises a portion of nodes and edges of the data model separated by a data flow boundary. 3 . The method of claim 2 , wherein the data flow boundary defines a boundary between column objects and column field objects along a predefined edge. 4 . The method of claim 2 , wherein computing the one or more closures is based on one or more closure hints for determining conditions for including objects into closures. 5 . The method of claim 4 , wherein the one or more closure hints comprise a closure hint for forming a closure between column objects and table objects along an edge identified as a table. 6 . The method of claim 4 , wherein the one or more closure hints reference objects, relationships and flow directions for generating the one or more closures. 7 . The method of claim 4 , wherein the one or more closure hints include indicators (i) if a closure is an up closure or a down closure, and (ii) if both up closures and down closures need to be generated for a pair of objects, wherein edges directed away from a source object on a path towards a target object are edges in a down direction for down closures, and wherein edges directed away from the target object to the source object are edges in an up direction for up closures. 8 . The method of claim 4 , wherein the one or more closure hints include at least one named relationship that indicate an edge in the data model that links a source object with a target object. 9 . The method of claim 1 , wherein each shortcut is defined by at least a source object, target object, and a flow direction. 10 . The method of claim 1 , wherein each shortcut corresponds to a directed path from a source object to a target object such that changes in the data model does not invalidate the shortcut. 11 . The method of claim 1 , wherein storing the one or more shortcuts comprises caching the generated shortcuts for a predetermined duration, for a duration of a session, or for reuse between sessions. 12 . A system for visualizing data, comprising: one or more processors; memory coupled to the one or more processors; and one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs comprising instructions for: identifying, by the one or more processors, a set of objects for a data visualization platform, each object in the set of objects representing a database, a data source, a table, a data field, a user, a visualization worksheet, or a calculated field; generating based on a schema model, by the one or more processors, a data model from the set of objects, wherein each object of the set of objects is represented as a node in the data model and each directed edge in the data model identifies a relationship between a pair of objects, wherein the data model includes shortcuts and a respective shortcut includes a source object, a target object, and a flow direction, and at least some of the shortcuts are persisted shortcuts; storing, in the memory, the data model, including the one or more shortcuts and the persisted shortcuts; and in response to receiving a query at the data visualization platform: resolving the query by using the one or more shortcuts, wherein resolving the query comprises parsing the query and determining that the query references objects that are associated with one or more shortcuts, wherein resolving the query includes: generating shortcut directed paths for the one or more shortcuts; determining relevant persisted shortcuts from the persisted shortcuts in the data model, wherein the relevant persisted shortcuts are persisted shortcuts that match data types included in the one or more shortcuts; replacing respective shortcuts with the relevant persisted shortcuts in the shortcut directed paths; and storing, in memory, the shortcut directed paths to be used for resolving subsequent queries. 13 . The system of claim 12 , wherein generating the shortcut directed paths comprises computing one or more closures by traversing the data model, wherein each closure comprises a portion of nodes and edges of the data model separated by a data flow boundary. 14 . The system of claim 13 , wherein the data flow boundary defines a boundary between column objects and column field objects along a predefined edge. 15 . The system of claim 13 , wherein computing the one or more closures is based on one or more closure hints for determining conditions for including objects into closures. 16 . The system of claim 15 , wherein the one or more closure hints comprises a closure hint between column objects and table objects along an edge identified as a table. 17 . A non-transitory computer readable storage medium storing one or more programs, the one or more programs configured for execution by a computing device having one or more processors, memory, and one or more programs comprising instructions for: identifying, by the one or more processors, a set of objects for a data visualization platform, each object in the set of objects representing a database, a data source, a table, a data field, a user, a visualization worksheet, or a calculated field; generating based on a schema model, by the one or more processors, a data model from the set of objects, wherein each object of the set of objects is represented as a node in the data model and each directed edge in the data model identifies a relationship between a pair of objects, wherein the data model includes shortcuts and a respective shortcut includes a source object, a target object, an
Presentation of query results · CPC title
with adaptation to user needs · CPC title
Visual data mining; Browsing structured data · CPC title
Trees, e.g. B+trees · CPC title
Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.