IP Library Granted Patent US 11,709,892
Granted Patent B2
US 11,709,892 · App. 17/235,428 · Granted Jul 25, 2023

System and method for querying a data repository

Inventors: Cenk Sezgin (London, GB); Advaya Krishna (New York, NY); Adhish Ramkumar (Jersey City, NJ); Arthur Wu (New York, NY); Adam Wiles (Hertfordshire, GB); Gregory Slonim (London, GB); Harsh Pandey (New York, NY); Kushal Nigam (Palo Alto, CA); Michal Adamczyk (New York, NY)
Assignee: Palantir Technologies Inc.
G06F16/90328G06F16/2393G06F16/243G06F16/24575G06F16/367G06F16/374
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 11,709,892
App. No.
17/235,428
Granted
Jul 25, 2023
Kind
B2
Abstract

The present disclosure relates to methods and systems for querying data in a data repository. According to a first aspect, this disclosure describes a method of querying a database, comprising: receiving, at a computing device, a plurality of keywords; determining, by the computer device, a plurality of datasets relating to the keywords; identifying, by the computer device, metadata for the plurality of datasets indicating a relationship between the datasets by examining an ontology associated with the datasets; providing, by the computer device, one or more suggested database queries in natural language form, the one or more suggested database queries constructed based on the plurality of keywords and the metadata; receiving, by the computing device, a selection of the one or more suggested database queries; and constructing, by the computer device, an object view for the plurality of datasets based on the selected query and the metadata.

Claims (55)

1. A computer-implemented method comprising:

receiving, by a computing system, a keyword with which to search a plurality of datasets;

identifying, by the computing system, datasets in the plurality of datasets that are related to the keyword based on ontologies associated with the datasets;

prompting, by the computing system, a selection, by a user, of one or more datasets from the identified datasets;

receiving, by the computing system, the selection of the one or more datasets;

inferring, by the computing system, relationships among the selected datasets, the relationships comprising one or more common subcategories among the selected datasets;

suggesting, by the computing system, based on the keyword and the inferred relationships, one or more search queries with which to search the datasets, the suggesting comprising:

generating logic to translate the keyword into the one or more search queries based on the inferred relationships; and

generating the one or more search queries based on the inferred relationships;

receiving, by the computing system, through the user interface, a selection of a query from the one or more queries; and

generating, by the computing system, through the user interface, an object view for the datasets based on the selected query, wherein the object view is a relational database that is generated from the datasets.

2. The method of claim 1 , wherein the plurality of datasets is stored in a distributed data repository and the distributed data repository stores the plurality of datasets at a plurality of locations.

3. The method of claim 1 , wherein the ontologies associated with the datasets include one or more of: text associated with rows, columns, or objects in the datasets; rules with which to modify rows, columns, or objects in the datasets; formats that define columns, or objects in the datasets; directional relationships between the datasets; and classifications associated with the datasets.

4. The method of claim 3 , wherein the directional relationships between the datasets include synonyms for at least one of dataset titles, row titles, column titles, or objects associated with the datasets.

5. The method of claim 1 , wherein the ontologies associated with the datasets are editable by a user through the user interface.

6. The method of claim 1 , wherein the one or more queries are natural language queries and generated based on the keyword and the ontologies associated with the datasets.

7. The method of claim 6 , wherein the natural language queries are generated based on a neural machine learning translation model using parse trees and entity recognition techniques.

8. The method of claim 1 , wherein the relational database includes data joined from the datasets.

9. The method of claim 1 , wherein the object view includes one or more selectable filters to apply to data associated with the relational database.

10. The method of claim 1 , wherein the object view includes one or more of: a table, a histogram, a bar graph, a line graph, a scatter plot, or a pie chart.

11. The method of claim 1 , further comprising:

generating, by the computing system, one or more filters for the datasets based on the inferred relationships among the selected datasets; and

prompting, by the computing system, a selection of a filter from the one or more filters from the identified datasets.

12. The method of claim 1 , wherein the generating of the object view comprises:

determining a display mode based on a proportion of entries in the dataset or within a column or row of the dataset having unique values.

13. The method of claim 1 , wherein the identifying of the datasets that are related to the keyword comprises identifying a class of the keyword and rows or columns in the datasets tagged with the class.

14. The method of claim 1 , wherein the generating the one or more search queries comprises selecting a template comprising a sequence of words and one or more slots populated using the keyword based on a property of the keyword.

15. A system comprising:

one or more processors;

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

receiving, through a user interface, a keyword with which to search a plurality of datasets;

identifying datasets in the plurality of datasets that are related to the keyword based on ontologies associated with the datasets;

prompting a selection, by a user, of one or more datasets from the identified datasets;

receiving the selection of the one or more datasets;

inferring relationships among the selected datasets, the relationships comprising one or more common subcategories among the selected datasets;

suggesting, based on the keyword and the inferred relationships, one or more search queries with which to search the datasets, the suggesting comprising:

generating logic to translate the keyword into the one or more search queries based on the inferred relationships; and

generating the one or more search queries based on the inferred relationships;

receiving, through the user interface, a selection of a query from the one or more queries; and

generating, through the user interface, an object view for the datasets based on the selected query, wherein the object view is a relational database that is generated from the datasets.

16. The system of claim 15 , wherein the plurality of datasets is stored in a distributed data repository and the distributed data repository stores the plurality of datasets at a plurality of locations.

17. A non-transitory memory of a computing system storing instructions that, when executed by one or more processors of the computing system, cause the computing system to perform a method comprising:

receiving, through a user interface, a keyword with which to search a plurality of datasets;

identifying datasets in the plurality of datasets that are related to the keyword based on ontologies associated with the datasets;

prompting a selection, by a user, of one or more datasets from the identified datasets;

receiving the selection of the one or more datasets;

inferring relationships among the selected datasets, the relationships comprising one or more common subcategories among the selected datasets;

suggesting, based on the keyword and the inferred relationships, one or more search queries with which to search the datasets, the suggesting comprising:

generating logic to translate the keyword into the one or more search queries based on the inferred relationships; and

generating the one or more search queries based on the inferred relationships;

receiving, through the user interface, a selection of a query from the one or more queries; and

generating, through the user interface, an object view for the datasets based on the selected query, wherein the object view is a relational database that is generated from the datasets.

18. The non-transitory memory of claim 17 , wherein the plurality of datasets is stored in a distributed data repository and the distributed data repository stores the plurality of datasets at a plurality of locations.

19. The non-transitory memory of claim 17 , wherein the ontologies associated with the datasets include one or more of: text associated with rows, columns, or objects in the datasets; rules with which to modify rows, columns, or objects in the datasets; formats that define columns, or objects in the datasets; directional relationships between the datasets; and classifications associated with the datasets.

20. The non-transitory memory of claim 19 , wherein the directional relationships between the datasets include synonyms for at least one of dataset titles, row titles, column titles, or objects associated with the datasets.

Assignments (3)
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 THE SPELLING OF THE 9TH INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 057481 FRAME: 0864. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 7, 2021
From: SEZGIN, CENK; KRISHNA, ADVAYA; RAMKUMAR, ADHISH; WU, ARTHUR; WILES, ADAM; SLONIM, GREGORY; PANDEY, HARSH; NIGAM, KUSHAL; ADAMCZYK, MICHAL
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057787/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2021
From: SEZGIN, CENK; KRISHNA, ADVAYA; RAMKUMAR, ADHISH; WU, ARTHUR; WILES, ADAM; SLONIM, GREGORY; PANDEY, HARSH; NIGAM, JUSHAL; ADAMCZYK, MICHAEL
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057481/0864 →
Priority Claims (1)
GB 1817074 · Oct 19, 2018 · national
Continuity (2)
Continuation 16362104 · Mar 22, 2019
Related Publication 20210279287A1 · Sep 9, 2021