IP Library Granted Patent US 9,922,108
Granted Patent B1
US 9,922,108 · App. 15/398,958 · Granted Mar 20, 2018

Systems and methods for facilitating data transformation

Inventors: David Meiklejohn (Arlington, VA); Jeppe Hallgren (Pimlico, GB); Vitaly Pavlenko (Moscow, RU)
Assignee: Palantir Technologies Inc.
G06F17/30569G06F17/30294G06F17/30607
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 9,922,108
App. No.
15/398,958
Granted
Mar 20, 2018
Kind
B1
Abstract

Systems and methods are provided for facilitating the transformation of data from a tabular data set organized according to a data schema to an object based data set organized according to a data ontology. The provided systems and methods offer a graphical user interface for mapping the tabular based data to the object based data set according to the data ontology. The tabular based data may be transformed according to the mapping.

Claims (85)

1. A system for assisting a user in performing transform of an origin data set into a target data set, the system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to:

obtain the origin data set, the origin data set being organized in a tabular framework defined by an origin data schema;

provide a graphical user interface displaying the origin data set;

receive through the graphical user interface, at least one designation of a data object, the at least one designation of the data object mapping at least a portion of the origin data set to the data object;

generate a data transform file based on the at least one designated data object, the data transform file generated in response to receiving the at least one designation of the data object;

transform the origin data set into the target data set based on an execution of the data transform file, the target data set having an object-oriented based framework;

compare the object-oriented based framework of the target data set to respective object-oriented based frameworks of a plurality of reference data sets;

detect, based on the comparison, similarities between the object-oriented based framework of the target data set and the respective object-oriented based frameworks of the plurality of reference data sets;

determine, based on the similarities, a respective similarity score for at least one of the plurality of reference data sets;

select a comparable reference data set based on the at least one respective similarity score;

obtain a data visualization template associated with the comparable reference data set;

apply the visualization template to the target data set; and

display, through the graphical user interface, the target data set based on the visualization template.

2. The system of claim 1 , wherein the system is further caused to:

receive, through the graphical user interface, a selection of a target data set ontology defining the object based framework of the target data set; and

wherein to receive the at least one designation of the data object the system is further caused to receive the at least one designation according to the target data set ontology.

3. The system of claim 2 , to receive the at least one designation of the data object the system is further caused to:

provide, through the graphical user interface, a plurality of object types according to the target data set ontology; and

receive, through the graphical user interface, a selection of one of the plurality of object types.

4. The system of claim 3 , wherein the system is further caused to

receive a designation of an object property within the origin data set according to the target data set ontology and the at least one designation of the data object.

5. The system of claim 1 , wherein to generate the data transform, the system is further caused generate software code of a transform script.

6. The system of claim 1 , wherein the system is further caused to:

provide a user access to a plurality of remote data sets; and

import a user selected remote data set.

7. The system of claim 6 , wherein the system is further caused to

compare the target data ontology to a remote data set ontology of the user selected remote data set; and

identify portions of the user selected remote data set according to the comparison.

8. The system of claim 6 , wherein the system is further caused to:

receive, through the graphical user interface, at least one designation of a remote data object within the remote data set; and

transform at least a portion of the user selected remote data set into the target data set,

wherein to generate the data transform the system is further caused to generate the data transform according to the at least one designation of the remote data object within the remote data set.

9. The system of claim 1 , wherein the to compare the target data set to the plurality of reference data sets, the system is further caused to:

compare a target data set ontology of the target data set to a plurality of ontologies of the plurality of reference data sets; and

compare data of the target data set to information about data of the plurality of reference data sets.

10. A computer implemented method of assisting a user in the transform of an origin data set into a target data set, the method being performed on a computer system having one or more physical processors programmed with computer program instructions that, when executed by the one or more physical processors, cause the computer system to perform the method, the method comprising:

obtaining, by the computer system, the origin data set, the origin data set being organized in a tabular framework defined by an origin data schema;

providing, by the computer system, a graphical user interface displaying the origin data set;

receiving, by the computer system, through the graphical user interface, at least one designation of a data object, the at least one designation of the data object mapping at least a portion of the origin data set to the data object;

generating, by the computer system, a data transform file based on the at least one designated data object, the data transform file generated in response to receiving the at least one designation of the data object;

transforming, by the computer system, the origin data set into the target data set based on an execution of the data transform file, the target data set having an object-oriented based framework;

comparing, by the computer system, the object-oriented based framework of the target data set to respective object-oriented based frameworks of a plurality of reference data sets;

detecting, by the computer system based on the comparison, similarities between the object-oriented based framework of the target data set and the respective object-oriented based frameworks of the plurality of reference data sets;

determining, by the computer system based on the similarities, a respective similarity score for at least one of the plurality of reference data sets;

selecting, by the computer system, a comparable reference data set based on the at least one respective similarity score;

obtaining, by the computer system, a data visualization template associated with the comparable reference data set;

applying, by the computer system, the visualization template to the target data set; and

displaying, by the computer system, through the graphical user interface, the target data set based on the visualization template.

11. The method of claim 10 , further comprising:

receiving, by the computer system, through the graphical user interface, a selection of a target data set ontology defining the object based framework of the target data set; and

wherein receiving the at least one designation of the data object includes receiving the at least one designation according to the target data set ontology.

12. The method of claim 11 , wherein receiving the at least one designation of the data object includes:

Providing, through the graphical user interface, with a plurality of object types according to the target data set ontology; and

receiving, through the graphical user interface, a selection of one of the plurality of object types.

13. The method of claim 12 , further comprising

receiving, by the computer system, a designation of an object property within the origin data set according to the target data set ontology and the at least one designation of the data object.

14. The method of claim 10 , wherein generating the data transform includes generating software code of a transform script.

15. The method of claim 10 , further comprising:

providing, by the computer system, a user access to a plurality of remote data sets; and

importing, by the computer system, at least a portion of a user selected remote data set.

16. The method of claim 15 , further comprising:

comparing, by the computer system, the target data ontology to a remote data set ontology of the user selected remote data set; and

identifying portions of the user selected remote data set according to the comparison.

17. The method of claim 15 , further comprising

receiving, by the computer system, through the graphical user interface, at least one designation of a remote data object within the remote data set; and

transforming, by the computer system, at least a portion of the user selected remote data set into the target data set,

wherein generating the data transform the system includes generating the data transform according to the at least one designation of the remote data object within the remote data set.

18. The method of claim 10 , wherein comparing the target data set to the plurality of reference data sets includes:

comparing, by the computer system, a target data set ontology of the target data set to a plurality of ontologies of the plurality of reference data sets; and

comparing, by the computer system, data of the target data set to information about data of the plurality of reference data sets.

19. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

obtaining the origin data set, the origin data set being organized in a tabular framework defined by an origin data schema;

providing a graphical user interface displaying the origin data set;

receiving, through the graphical user interface, at least one designation of a data object, the at least one designation of the data object mapping at least a portion of the origin data set to the data object;

generating a data transform file based on the at least one designated data object, the data transform file generated in response to receiving the at least one designation of the data object;

transforming the origin data set into the target data set based on an execution of the data transform file, the target data set having an object-oriented based framework;

comparing the object-oriented based framework of the target data set to respective object-oriented based frameworks of a plurality of reference data sets;

detecting, based on the comparison, similarities between the object-oriented based framework of the target data set and the respective object-oriented based frameworks of the plurality of reference data sets;

determining, based on the similarities, a respective similarity score for at least one of the plurality of reference data sets;

selecting a comparable reference data set based on the at least one respective similarity score;

obtaining a data visualization template associated with the comparable reference data set;

applying the visualization template to the target data set; and

displaying, through the graphical user interface, the target data set based on the visualization template.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: MEIKLEJOHN, DAVID; HALLGREN, JEPPE; PAVLENKO, VITALY
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 044778/0260 →