IP Library Granted Patent US 10,776,382
Granted Patent B2
US 10,776,382 · App. 15/914,814 · Granted Sep 15, 2020

Systems and methods for facilitating data transformation

Inventors: David Meiklejohn (Arlington, VA); Jeppe Hallgren (Pimlico, GB); Vitaly Pavlenko (Moscow, RU)
Assignee: Palantir Technologies Inc.
G06F16/258G06F16/212G06F16/289
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 10,776,382
App. No.
15/914,814
Granted
Sep 15, 2020
Kind
B2
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 (93)

1. A system comprising:

one or more processors; and

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

obtain an origin data set;

provide a graphical user interface displaying the origin data set;

receive, through the graphical user interface, a designation of a data object;

import, from a remote data source, a remote data set;

receive, through the graphical user interface, a designation of a remote data object;

generate a data transform file based on the designation of the data object and the designation of the remote data object;

transform the origin data set and at least a portion of the remote data set into a target data set based on an execution of the data transform file; and

select a visualization template from stored visualization templates to display the transformed target data set, based on:

a first weighted category associated with object types in common between:

each of corresponding data sets associated with the respective stored visualization templates, and

the transformed target data set;

a second weighted category associated with object counts in common between:

each of the corresponding data sets associated with the respective stored visualization templates, and

the transformed target data set; and

a third weighted category associated with an ontology hierarchy in common between:

each of the corresponding data sets associated with the respective stored visualization templates, and

the transformed target data set,

the ontology hierarchy indicating whether a link between data objects associated with the corresponding data sets is symmetric or asymmetric, and whether a link between data objects associated with the transformed target data set is symmetric or asymmetric.

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

compare a target data set ontology of the target data set to a remote data set ontology of the remote data set, the target data set ontology defining the object based framework of the target data set; and

identify the at least a portion of the remote data set based on the comparison.

3. The system of claim 2 , wherein the comparison identifies one or more remote objects of the remote data set having a first object type corresponding to a second object type of the target data set.

4. The system of claim 1 , wherein the designation of the data object maps at least a portion of the origin data set to the data object.

5. They system of claim 1 , wherein the designation of the remote data object maps the at least a portion of the remote data set to the remote data object.

6. The system of claim 1 , wherein the remote data set is selected from a plurality of different remote data sets based on a user selection received through the graphical user interface, and wherein the instructions further cause the system to:

increase a first weight associated with the first weighted category in response to a data set associated with the selected visualization template matching the transformed target data set with respect to an object type;

increase a second weight associated with the second weighted category in response to a data set associated with the selected visualization template matching the transformed target data set with respect to an object count; and

increase a third weight associated with the third weighted category in response to a data set associated with the selected visualization template matching the transformed target data set with respect to an ontology hierarchy, wherein a asymmetric link reflects a directionality of the link between the data objects associated with the corresponding data sets or between the data objects associated with the transformed target data set.

7. The system of claim 1 , wherein the at least a portion of the remote data set is transformed into the target data set based on the remote data set ontology.

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

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

wherein to receive the designation of the data object the system is further caused to receive the designation of the data object based on the target data set ontology.

9. The system of claim 8 , wherein, to receive the 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.

10. The system of claim 9 , 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 designation of the data object.

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

12. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:

obtaining an origin data set;

providing a graphical user interface displaying the origin data set;

receiving, through the graphical user interface, a designation of a data object;

importing, from a remote data source, a remote data set;

receiving, through the graphical user interface, a designation of a remote data object;

generating a data transform file based on the designation of the data object and the designation of the remote data object;

transforming the origin data set and at least a portion of the remote data set into a target data set based on an execution of the data transform file; and

selecting a visualization template to display the transformed target data set, based on:

a first weighted category associated with object types in common between:

each of corresponding data sets associated with respective stored visualization templates, and

the transformed target data set;

a second weighted category associated with object counts in common between:

each of the corresponding data sets associated with the respective stored visualization templates, and

the transformed target data set; and

a third weighted category associated with an ontology hierarchy in common between:

each of the corresponding data sets associated with the respective stored visualization templates, and

the transformed target data set,

the ontology hierarchy indicating whether a link between data objects associated with the corresponding data sets is symmetric or asymmetric, and whether a link between data objects associated with the transformed target data set is symmetric or asymmetric.

13. The method of claim 12 , wherein the method further comprises:

comparing a target data set ontology of the target data set to a remote data set ontology of the remote data set, the target data set ontology defining the object based framework of the target data set; and

identifying the at least a portion of the remote data set based on the comparison.

14. The method of claim 13 , wherein the comparing identifies one or more remote objects of the remote data set having a first object type corresponding to a second object type of the target data set.

15. The method of claim 12 , wherein the designation of the data object maps at least a portion of the origin data set to the data object.

16. They method of claim 12 , wherein the designation of the remote data object maps the at least a portion of the remote data set to the remote data object.

17. The method of claim 12 , wherein the remote data set is selected from a plurality of different remote data sets based on a user selection received through the graphical user interface, and the instructions further cause the system to:

increase a first weight associated with the first weighted category in response to a data set associated with the selected visualization template matching the transformed target data set with respect to an object type;

increase a second weight associated with the second weighted category in response to a data set associated with the selected visualization template matching the transformed target data set with respect to an object count; and

increase a third weight associated with the third weighted category in response to a data set associated with the selected visualization template matching the transformed target data set with respect to an ontology hierarchy, wherein a asymmetric link reflects a directionality of the link between the data objects associated with the corresponding data sets or between the data objects associated with the transformed target data set.

18. The method of claim 12 , wherein the at least a portion of the remote data set is transformed into the target data set based on the remote data set ontology.

19. The method of claim 12 , wherein the method further comprises:

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

wherein the receiving the designation of the data object comprises receiving the designation of the data object based on the target data set ontology.

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

obtaining an origin data set;

providing a graphical user interface displaying the origin data set;

receiving, through the graphical user interface, a designation of a data object;

importing, from a remote data source, a remote data set;

receiving, through the graphical user interface, a designation of a remote data object;

generating a data transform file based on the designation of the data object and the at least one designation of the remote data object;

transforming the origin data set and at least a portion of the remote data set into a target data set based on an execution of the data transform file; and

selecting a visualization template to display the transformed target data set, based on:

a first weighted category associated with object types in common between:

each of corresponding data sets associated with respective stored visualization templates, and

the transformed target data set;

a second weighted category associated with, object counts in common between:

each of the corresponding data sets associated with the respective stored visualization templates, and

the transformed target data set; and

a third weighted category associated with an ontology hierarchy in common between:

each of the corresponding data sets associated with the respective stored visualization templates, and

the transformed target data set,

the ontology hierarchy indicating whether a link between data objects associated with the corresponding data sets is symmetric or asymmetric, and whether a link between data objects associated with the transformed target data set is symmetric or asymmetric.

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 Jun 5, 2018
From: MEIKLEJOHN, DAVID; HALLGREN, JEPPE; PAVLENKO, VITALY
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 045989/0762 →