IP Library › Granted Patent US 12,461,934
Granted Patent B2
US 12,461,934 · App. 18/886,717 · Granted Nov 4, 2025

Generation and graphical display of data transform provenance metadata

Inventors: Matthew MacLean (New York, NY); Adam Borochoff (New York, NY); Jared Newman (Costa Mesa, CA); Joseph Rafidi (Mountain View, CA)
Assignee: Palantir Technologies Inc.
G06F16/26G06F16/212G06F16/221G06F16/2282G06F16/258G06F16/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,461,934
App. No.
18/886,717
Granted
Nov 4, 2025
Kind
B2
Abstract

A method of determining and displaying metadata that represents provenance of columns in a data store comprises receiving query data expressed in a human-readable language and describing one or more transformations of data tables of a distributed database system or columns of the data tables; parsing the query data to create a data structure for unresolved transforms in which the data tables are not matched with the columns; based in part upon table schema metadata describing the columns of the data tables, creating an additional data structure for resolved transforms, the additional data structure matching the data tables with the columns and specifying inputs and outputs of each transformation of the one or more transformations; based on information in the additional data structure, creating and causing display of a visual graph of the columns of the data tables and relationships between the columns, relating to the one or more transformations.

Claims (41)

1 . A method of determining and displaying metadata that represents provenance of columns in a data store, comprising:

receiving query data expressed in a human-readable language and describing one or more transformations of data tables of a distributed database system or columns of the data tables;

parsing the query data to create a data structure for unresolved transforms in which the data tables are not matched with the columns;

based in part upon table schema metadata describing the columns of the data tables, creating an additional data structure for resolved transforms,

the additional data structure matching the data tables with the columns and specifying inputs and outputs of each transformation of the one or more transformations;

based on information in the additional data structure, creating and causing display of a visual graph of the columns of the data tables and relationships between the columns, relating to the one or more transformations,

wherein the method is performed by one or more processors.

2 . The method of claim 1 ,

the query data indicating one or more operators;

the data structure indicating attributes of the one or more operators.

3 . The method of claim 2 , the additional data structure referring to a temporary output data table for an operator of the one or more operators.

4 . The method of claim 1 , creating the additional data structure comprising making a call to a distribute database system to retrieve a table schema.

5 . The method of claim 1 , further comprising creating metadata for the resolved transforms that include links to code segments in the human-readable language corresponding to the one or more transformations and creating a build job specification.

6 . The method of claim 5 , further comprising causing concurrent display of code snippets from the code segments.

7 . The method of claim 6 , further comprising executing a build job that effects the one or more data transforms using the build job specification.

8 . The method of claim 1 , the visual graph being a provenance graph including one or more nodes representing one or more columns of the columns and one or more edges representing one or more column relationships of the relationships.

9 . The method of claim 8 , the provenance graph further including a node representing a join operation and edges connecting a node of the one or more nodes representing the one or more columns to the node representing the join operation.

10 . The method of claim 1 , further comprising:

receiving a selection of a specific data table of the data tables;

causing display of forward and backward relationships of the specific data table to other data tables.

11 . A system for determining and displaying metadata that represents provenance of columns in a data store, comprising:

a memory;

one or more processors coupled to the memory and configured to perform:

receiving query data expressed in a human-readable language and describing one or more transformations of data tables of a distributed database system or columns of the data tables;

parsing the query data to create a data structure for unresolved transforms in which the data tables are not matched with the columns;

based in part upon table schema metadata describing the columns of the data tables, creating an additional data structure for resolved transforms,

the additional data structure matching the data tables with the columns and specifying inputs and outputs of each transformation of the one or more transformations;

based on information in the additional data structure, creating and causing display of a visual graph of the columns of the data tables and relationships between the columns, relating to the one or more transformations.

12 . The system of claim 11 ,

the query data indicating one or more operators;

the data structure indicating attributes of the one or more operators.

13 . The system of claim 12 , the additional data structure referring to a temporary output data table for an operator of the one or more operators.

14 . The system of claim 11 , creating the additional data structure comprising making a call to a distribute database system to retrieve a table schema.

15 . The system of claim 11 , the one or more processors configured to further perform creating metadata for the resolved transforms that include links to code segments in the human-readable language corresponding to the one or more transformations and creating a build job specification.

16 . The system of claim 15 , the one or more processors configured to further perform causing concurrent display of code snippets from the code segments.

17 . The system of claim 16 , the one or more processors configured to further perform executing a build job that effects the one or more data transforms using the build job specification.

18 . The system of claim 11 , the visual graph being a provenance graph including one or more nodes representing one or more columns of the columns and one or more edges representing one or more column relationships of the relationships.

19 . The system of claim 18 , the provenance graph further including a node representing a join operation and edges connecting a node of the one or more nodes representing the one or more columns to the node representing the join operation.

20 . The system of claim 11 , the one or more processors configured to further perform:

receiving a selection of a specific data table of the data tables;

causing display of forward and backward relationships of the specific data table to other data tables.

Continuity (5)
Continuation 18465089 · Sep 11, 2023
Continuation 17727578 · Apr 22, 2022
Continuation 16014005 · Jun 21, 2018
Provisional Application 62523720 · Jun 22, 2017
Related Publication 20250086196A1 · Mar 13, 2025
References Cited (15)
US 20070294266A1 · Chowdhary et al. · 2007 [cited by applicant]
US 20100070463A1 · Zhao et al. · 2010 [cited by applicant]
US 20160048542A1 · Kshetri et al. · 2016 [cited by applicant]
US 20160117375A1 · Antonopoulos · 2016 [cited by examiner]
US 20170090893A1 · Aditya et al. · 2017 [cited by applicant]
US 20170141797A1 · Scholl et al. · 2017 [cited by applicant]
US 20180260287A1 · Iyer et al. · 2018 [cited by applicant]
US 20200026790A1 · Maclean et al. · 2020 [cited by applicant]
Raj et al., “Visualization Dimensions for High Performance Big Data Analytics”, In: Wireless Sensors in Heterogeneous Networked Systems, dated Oct. 17, 2015, pp. 339-365. [cited by applicant]
European Patent Office, “Search Report” in application No. 18179100.5-1217, dated Oct. 9, 2018, 16 pages. [cited by applicant]
European Patent Office, “Search Report” in application No. 18179100.5-1217 dated Aug. 13, 2018, 17 pages. [cited by applicant]
European Claims in application No. 18179100.5-1217, dated Oct. 2018, 2 pages. [cited by applicant]
European Claims in application No. 18179100.5-1217, dated Aug. 2018, 3 pages. [cited by applicant]
Brimhall, Jason, et al., “Stored Procedures” In: “SQL Server 2012 T-SQL Recipes: A Problem-Solution Approach”, dated Sep. 11, 2012, Apress, pp. 363-382. [cited by applicant]
Ashish Thusoo et al., “Hive—A Petabyte Scale Data Warehouse Using Hadoop”, Data Engineering ICDE dated 2010, IEEE 26th International Conference on, IEEE, dated Mar. 1, 2010, pp. 996-1005. [cited by applicant]