# US 12,008,049 B2 · Techniques for visualizing dependencies in a data analytics system

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

- Number: US 12,008,049 B2
- Document ID: US12008049B2
- Status: Granted
- Kind: B2
- Application number: 17/384,966
- Filed: 2021-07-26
- Published: 2022-01-06
- Granted: 2024-06-11
- Earliest claimed: 2017-07-03
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Xavier Falco; James Campbell
- Web page: https://patentgrep.com/patent/US12008049B2

## CPC

- G06F 16/904: Browsing; Visualisation therefor (for navigating the web G06F16/954; browsing optimisation for the web G06F16/957)
- G06F 16/9014: {hash tables}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 16/90328: {using search space presentation or visualization, e.g. category or range presentation and selection}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for visualizing dependencies in a data analytics system are described. In an embodiment, a visualization system may receive datasets and dataset dependency information for the datasets. The visualization system may receive a first type of analysis objects from a first analysis object system and dataset dependency information from an analysis object dependency service. The visualization system may receive a second type of analysis objects from a second analysis object system. The second type of analysis object may include a JSON representation of a set of operations that are applied during analysis such as a set of programming instructions. The visualization system may traverse and analyze the JSON representation to determine, for a given analysis object, one or more parent dependencies. The visualization system can then generate a graph of the datasets and analysis objects.

## Claims

### Claim 1

A method comprising:
parsing operations of a first analysis object for visualizing data to identify datasets to be visualized via the operations;
determining, based on the parsing, first dataset dependency information for the first analysis object,
the first dataset dependency information identifying a first set of one or more datasets to which the operations apply and on which the first analysis object depends, each dataset of the first set of one or more datasets contained in one or more data files stored in a storage media,
using the first dataset dependency information to cause a visual graph to be presented in a computer graphical user interface,
the visual graph comprising one or more nodes representing the first set of one or more datasets and a node representing the first analysis object and one or more edges between the one or more nodes representing the first set of one or more datasets and the node representing the first analysis object, each edge of the one or more edges representing a data dependency of the first analysis object on a respective dataset of the first set of one or more datasets,
wherein the method is performed using one or more processors.

### Claim 2 (depends on 1)

The method of claim 1, wherein the parsed operations of the first analysis object comprise PYTHON programming language instructions for analyzing the first set of one or more datasets, a JavaScript Object Notation (JSON) representation of operations to apply to the first set of one or more datasets, or HyperTextMarkupLanguage (HTML) code for generating a document based on the first set of one or more datasets.

### Claim 3 (depends on 1)

The method of claim 1, wherein the node of the presented visual graph representing the first analysis object has a distinct visual appearance in the computer graphical user interface from the one or more nodes of the presented visual graph representing the first set of one or more datasets so as to visually indicate that the node representing the first analysis object represents an analysis object and not a dataset.

### Claim 4 (depends on 1)

The method of claim 1, wherein the parsed operations of the first analysis object comprise programming language instructions for analyzing the first set of one or more datasets selected from the group consisting of MATLAB, R, C, C++, OBJECTIVE-C, JAVA, or SQL programming language instructions.

### Claim 5 (depends on 1)

The method of claim 1, the operations including comments on visualizations of underlying data in the one or more datasets or interval selection of the underlying data in the one or more datasets.

### Claim 6 (depends on 5)

The method of claim 5, wherein the processing the operations of the first analysis object to cause a visualization of the first set of one or more datasets to be presented in the computer graphical user interface is performed in response to detecting a user input directed to the node of the presented visual graph representing the first analysis object.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining second dataset dependency information for the first set of one or more datasets, the second dataset dependency information identifying a second dataset on which the first set of one or more datasets depend, the second dataset contained in one or more data files stored in a storage media; and
using the second dataset dependency information to present in the visual graph a node representing the second dataset and one or more edges between the node representing the second dataset and the one or more nodes representing the first set of one or more datasets, each edge of the one or more edges between the node representing the second dataset and the one or more nodes representing the first set of one or more datasets representing a data dependency of a respective dataset of the first set of one or more datasets on the second dataset.

### Claim 8

One or more non-transitory storage media storing one or more sequences of instructions which, when executed by one or more processors, cause performance of:
parsing operations of a first analysis object for visualizing data to identify datasets to be visualized via the operations;
determining, based on the parsing, first dataset dependency information for the first analysis object,
the first dataset dependency information identifying a first set of one or more datasets to which the operations apply and on which the first analysis object depends, each dataset of the first set of one or more datasets contained in one or more data files stored in a storage media,
using the first dataset dependency information to cause a visual graph to be presented in a computer graphical user interface, the visual graph comprising one or more nodes representing the first set of one or more datasets and a node representing the first analysis object and one or more edges between the one or more nodes representing the first set of one or more datasets and the node representing the first analysis object, each edge of the one or more edges representing a data dependency of the first analysis object on a respective dataset of the first set of one or more datasets.

### Claim 9 (depends on 8)

The one or more non-transitory storage media of claim 8, wherein the parsed operations of the first analysis object comprise PYTHON programming language instructions for analyzing the first set of one or more datasets, a JavaScript Object Notation (JSON) representation of operations to apply to the first set of one or more datasets, or HyperTextMarkupLanguage (HTML) code for generating a document based on the first set of one or more datasets.

### Claim 10 (depends on 8)

The one or more non-transitory storage media of claim 8, wherein the node of the presented visual graph representing the first analysis object has a distinct visual appearance in the computer graphical user interface from the one or more nodes of the presented visual graph representing the first set of one or more datasets so as to visually indicate that the node representing the first analysis object represents an analysis object and not a dataset.

### Claim 11 (depends on 8)

The one or more non-transitory storage media of claim 8, wherein the parsed operations of the first analysis object comprise programming language instructions for analyzing the first set of one or more datasets selected from the group consisting of MATLAB, R, C, C++, OBJECTIVE-C, JAVA, or SQL programming language instructions.

### Claim 12 (depends on 8)

The one or more non-transitory storage media of claim 8, the operations including comments on visualizations of underlying data in the one or more datasets or interval selection of the underlying data in the one or more datasets.

### Claim 13 (depends on 12)

The one or more non-transitory storage media of claim 12, wherein the processing the operations of the first analysis object to cause a visualization of the first set of one or more datasets to be presented in the computer graphical user interface is performed in response to detecting a user input directed to the node of the presented visual graph representing the first analysis object.

### Claim 14 (depends on 8)

The one or more non-transitory storage media of claim 8, further storing instructions which, when executed by the one or more processors, cause performance of:
determining second dataset dependency information for the first set of one or more datasets, the second dataset dependency information identifying a second dataset on which the first set of one or more datasets depend, the second dataset contained in one or more data files stored in a storage media; and
using the second dataset dependency information to present in the visual graph a node representing the second dataset and one or more edges between the node representing the second dataset and the one or more nodes representing the first set of one or more datasets, each edge of the one or more edges between the node representing the second dataset and the one or more nodes representing the first set of one or more datasets representing a data dependency of a respective dataset of the first set of one or more datasets on the second dataset.

### Claim 15

A computing system comprising:
one or more processors;
storage media; and
instructions stored in the storage media and configured for execution by the one or more processors to perform:
parsing operations of a first analysis object for visualizing data to identify datasets to be visualized via the operations;
determining, based on the parsing, first dataset dependency information for the first analysis object,
the first dataset dependency information identifying a first set of one or more datasets to which the operations apply and on which the first analysis object depends, each dataset of the first set of one or more datasets contained in one or more data files stored in a storage media,
using the first dataset dependency information to cause a visual graph to be presented in a computer graphical user interface and one or more nodes representing the first set of one or more datasets and a node representing the first analysis object, the visual graph further comprising one or more edges between the one or more nodes representing the first set of one or more datasets and the node representing the first analysis object, each edge of the one or more edges representing a data dependency of the first analysis object on a respective dataset of the first set of one or more datasets.

### Claim 16 (depends on 15)

The computing system of claim 15, wherein the parsed operations of the first analysis object comprise PYTHON programming language instructions for analyzing the first set of one or more datasets, a JavaScript Object Notation (JSON) representation of operations to apply to the first set of one or more datasets, or HyperTextMarkupLanguage (HTML) code for generating a document based on the first set of one or more datasets.

### Claim 17 (depends on 15)

The computing system of claim 15, wherein the node of the presented visual graph representing the first analysis object has a distinct visual appearance in the computer graphical user interface from the one or more nodes of the presented visual graph representing the first set of one or more datasets so as to visually indicate that the node representing the first analysis object represents an analysis object and not a dataset.

### Claim 18 (depends on 15)

The computing system of claim 15, wherein the parsed operations of the first analysis object comprise programming language instructions for analyzing the first set of one or more datasets selected from the group consisting of MATLAB, R, C, C++, OBJECTIVE-C, JAVA, or SQL programming language instructions.

### Claim 19 (depends on 15)

The computing system of claim 15, the operations including comments on visualizations of underlying data in the one or more datasets or interval selection of the underlying data in the one or more datasets.

### Claim 20 (depends on 15)

The computing system of claim 15, further comprising instructions stored in storage media and configured for execution by the one or more processors to perform:
determining second dataset dependency information for the first set of one or more datasets, the second dataset dependency information identifying a second dataset on which the first set of one or more datasets depend, the second dataset contained in one or more data files stored in a storage media; and
using the second dataset dependency information to present in the visual graph a node representing the second dataset and one or more edges between the node representing the second dataset and the one or more nodes representing the first set of one or more datasets, each edge of the one or more edges between the node representing the second dataset and the one or more nodes representing the first set of one or more datasets representing a data dependency of a respective dataset of the first set of one or more datasets on the second dataset.
