IP Library Granted Patent US 12,561,339
Granted Patent B2
US 12,561,339 · App. 18/744,290 · Granted Feb 24, 2026

Providing a unified query interface across multiple ontology-based databases

Inventors: James Baker (Maidenhead, GB); Xavier Falco (London, GB); Samuel Flavio Barroso Souza (London, GB); Helen Yu (New York, NY); Amr Al Mallah (Tacoma, WA); Yixun Xu (Jersey City, NJ); Arseny Bogomolov (Arlington, VA); Slawomir Mucha (London, GB); Pawel Adamowicz (London, GB)
Assignee: Palantir Technologies Inc.
G06F16/25G06F9/547G06F16/9024G06F21/6218
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,561,339
App. No.
18/744,290
Granted
Feb 24, 2026
Kind
B2
Abstract

A system for providing a unified query interface across multiple ontology-based databases and related methods are disclosed. The system is programmed to receive calls to an application programming interface for querying an ontology, where ontology data is represented in different databases respectively in different forms. For each function being called, system is programmed to select a database from the different databases based on the function type and each ontology entity type being processed by the function. The system is further programmed to retrieve data from each selected database, merge the retrieval results as appropriate, and transform the final result to ontology data in response to the calls.

Claims (70)

1 . A computer-implemented method of providing a unified query interface across multiple object databases, comprising:

receiving a set of calls of a set of functions in an application programming interface (API) for querying an ontology,

the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types,

each ontology entity type of the plurality of ontology entity types having one or more properties;

determining a set of properties of a first ontology entity type of the plurality of ontology entity types, the set of properties to be accessed in executing the set of functions;

identifying a first group of object databases associated with the first ontology entity type,

the first ontology entity type being represented in multiple forms separately in the first group of object databases;

selecting a specific object database from the first group of object databases based on functional information of the specific object database related to representation of the set of properties of the first ontology entity type;

executing the set of functions using the specific object database;

returning a result of the executing in response to the set of calls,

wherein the method is performed by one or more processors.

2 . The computer-implemented method of claim 1 , the set of functions including a filter that operates on an ontology entity type and returns a set of ontology entities of the ontology entity type.

3 . The computer-implemented method of claim 1 , the identifying being performed based on a certain mapping that associates the first ontology entity type with the first group of object databases and includes a transformation between the definition for the first ontology entity type and schemas for the first group of object databases.

4 . The computer-implemented method of claim 1 ,

a first object database of the first group of object databases being a relational database representing an ontology entity of the first ontology entity type as a row and properties of the ontology entity as columns,

a second object database of the first group of object databases being a graph database representing the ontology entity as a node and links connected to the ontology entity as edges.

5 . The computer-implemented method of claim 1 ,

a first object database of the first group of object databases representing a particular property of the set of properties of the first ontology entity type in uncompressed or indexed form,

a second object database of the first group of object databases representing the particular property in archived or encrypted form.

6 . The computer-implemented method of claim 1 ,

the selecting comprising matching the functional information of the specific object database with metadata of a particular function of the set of functions,

the functional information indicating that a column of the specific object database allows random and near real-time access,

the column corresponding to a property of the set of properties of the first ontology entity type.

7 . The computer-implemented method of claim 1 , the selecting comprising estimating a performance of each object database of the first group of object databases in serving a call to a particular function of the set of functions by limiting an amount of data to be returned from calling the particular function.

8 . The computer-implemented method of claim 1 , the selecting comprising confirming that the specific object database has a latest version of an ontology entity of the first ontology entity type that is available for querying.

9 . The computer-implemented method of claim 1 , the executing comprising:

accessing distinct object databases of the first group of object databases to access distinct properties of the first ontology entity type;

merging results of accessing the distinct object databases.

10 . The computer-implemented method of claim 1 , the executing comprising transforming data retrieved from the specific object database to data of the ontology.

11 . The computer-implemented method of claim 1 , further comprising:

identifying a user account associated with the set of calls;

verifying that the user account has permission to access the specific object database in executing the set of functions.

12 . The computer-implemented method of claim 1 , an ontology entity being an object or a link between two objects.

13 . A system for managing versioning of providing a unified query interface across multiple object databases, comprising:

a memory;

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

receiving a set of calls of a set of functions in an API for querying an ontology,

the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types,

each ontology entity type of the plurality of ontology entity types having one or more properties;

determining a set of properties of a first ontology entity type of the plurality of ontology entity types, the set of properties to be accessed in executing the set of functions;

identifying a first group of object databases associated with the first ontology entity type,

the first ontology entity type being represented in multiple forms separately in the first group of object databases;

selecting a specific object database from the first group of object databases based on functional information of the specific object database related to representation of the set of properties of the first ontology entity type;

executing the set of functions using the specific object database;

returning a result of the executing in response to the set of calls.

14 . The system of claim 13 ,

a first object database of the first group of object databases representing a particular property of the set of properties of the first ontology entity type in uncompressed or indexed form,

a second object database of the first group of object databases representing the particular property in archived or encrypted form.

15 . The system of claim 13 ,

the selecting comprising matching the functional information of the specific object database with metadata of a particular function of the set of functions,

the functional information indicating that a column of the specific object database allows random and near real-time access,

the column corresponding to a property of the set of properties of the first ontology entity type.

16 . The system of claim 13 , the selecting comprising estimating a performance of each object database of the first group of object databases in serving a call to a particular function of the set of functions by limiting an amount of data to be returned from calling the particular function.

17 . The system of claim 13 , the selecting comprising confirming that the specific object database has a latest version of an ontology entity of the first ontology entity type that is available for querying.

18 . The system of claim 13 , the executing comprising:

accessing distinct object databases of the first group of object databases to access distinct properties of the first ontology entity type;

merging results of accessing the distinct object databases.

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

identifying a user account associated with the set of calls;

verifying that the user account has permission to access the specific object database in executing the set of functions.

20 . A non-transitory, computer-readable storage medium storing one or more sequences of instructions which when executed cause one or more processors to perform:

receiving a set of calls of a set of functions in an API for querying an ontology,

the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types,

each ontology entity type of the plurality of ontology entity types having one or more properties;

determining a set of properties of a first ontology entity type of the plurality of ontology entity types, the set of properties to be accessed in executing the set of functions;

identifying a first group of object databases associated with the first ontology entity type,

the first ontology entity type being represented in multiple forms separately in the first group of object databases;

selecting a specific object database from the first group of object databases based on functional information of the specific object database related to representation of the set of properties of the first ontology entity type;

executing the set of functions using the specific object database;

returning a result of the executing in response to the set of calls.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2024
From: BAKER, JAMES; FALCO, XAVIER; SOUZA, SAMUEL FLAVIO BARROSO; YU, HELEN; MALLAH, AMR AL; XU, YIXUN; BOGOMOLOV, ARSENY; MUCHA, SLAWOMIR; ADAMOWICZ, PAWEL
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 067955/0194 →
Continuity (2)
Provisional Application 63637310 · Apr 22, 2024
Related Publication 20250328541A1 · Oct 23, 2025
References Cited (56)
US 6988109B2 · Stanley et al. · 2006 [cited by applicant]
US 8015143B2 · Estes · 2011 [cited by applicant]
US 9569070B1 · Ma et al. · 2017 [cited by applicant]
US 9626158B1 · Ben-Tzur · 2017 [cited by applicant]
US 9712576B1 · Gill · 2017 [cited by applicant]
US 10789263B2 · Beard et al. · 2020 [cited by applicant]
US 10803106B1 · Beard et al. · 2020 [cited by applicant]
US 11816156B2 · Tonkin · 2023 [cited by applicant]
US 20060165040A1 · Rathod et al. · 2006 [cited by applicant]
US 20080086498A1 · Sureka · 2008 [cited by applicant]
US 20120016849A1 · Garrod et al. · 2012 [cited by applicant]
US 20120197934A1 · Zhang et al. · 2012 [cited by applicant]
US 20140108461A1 · B'Far et al. · 2014 [cited by applicant]
US 20140156638A1 · Joshi et al. · 2014 [cited by applicant]
US 20150227598A1 · Hahn et al. · 2015 [cited by applicant]
US 20150293955A1 · Dickey · 2015 [cited by applicant]
US 20160085515A1 · Ben-Tzur · 2016 [cited by examiner]
US 20160085516A1 · Ben-Tzur et al. · 2016 [cited by applicant]
US 20160110408A1 · Madhavarapu et al. · 2016 [cited by applicant]
US 20160224600A1 · Munk · 2016 [cited by applicant]
US 20160255139A1 · Rathod · 2016 [cited by applicant]
US 20160301753A1 · Auch et al. · 2016 [cited by applicant]
US 20170193021A1 · Deng et al. · 2017 [cited by applicant]
US 20170235848A1 · Van Dusen · 2017 [cited by examiner]
US 20180027006A1 · Zimmermann · 2018 [cited by examiner]
US 20190102430A1 · Wang · 2019 [cited by examiner]
US 20190347343A1 · Fink et al. · 2019 [cited by applicant]
US 20200311070A1 · Yan · 2020 [cited by examiner]
US 20210034614A1 · Kothari et al. · 2021 [cited by applicant]
US 20210209249A1 · Hoffer · 2021 [cited by applicant]
US 20230334080A1 · Tonkin · 2023 [cited by examiner]
US 20240296181A1 · Busany et al. · 2024 [cited by applicant]
US 20240354326A1 · Baker et al. · 2024 [cited by applicant]
US 20240354567A1 · Duggal et al. · 2024 [cited by applicant]
U.S. Appl. No. 18/642,456, Non-Final Office Action, Feb. 21, 2025. [cited by applicant]
U.S. Appl. No. 18/440,724, filed Feb. 13, 2024. [cited by applicant]
U.S. Appl. No. 18/542,456, filed Apr. 22, 2024. [cited by applicant]
U.S. Appl. No. 18/642,459, filed Apr. 22, 2024. [cited by applicant]
U.S. Appl. No. 18/642,464, filed Apr. 22, 2024. [cited by applicant]
U.S. Appl. No. 18/769,002, filed Jul. 10, 2024. [cited by applicant]
U.S. Appl. No. 18/440,724, Non-Final Office Action, Aug. 28, 2024. [cited by applicant]
U.S. Appl. No. 18/642,464, Notice of Allowance, Apr. 4, 2025. [cited by applicant]
Anonymous: “Overview—Palantir Foundry”, Jan. 31, 2023 (Jan. 31, 2023), pp. 1-4, XP093205277, Retrieved from the Internet: URL: https://web.archive.org/web/20230131034452/https://www.palantir.com/docs/foundry/platform-ov… [cited by applicant]
Anonymous: “Data integration Overview—Palantir”, May 18, 2022 (May 18, 2022), pp. 1-2, XP093205977, Retrieved from the Internet: URL: https://web.archive.org/web/20220518064333/https://www.palantir.com/docs/foundry/data… [cited by applicant]
Higgins Andrew et al.: “How Palantir Foundry Helps Customers Build and Deploy AI-Powered Decision-Making Applications I AWS Partner Network (APN) Blog”, Apr. 12, 2022 (Apr. 12, 2022), pp. 1-10, XP093205395, Retrieved fr… [cited by applicant]
Anonymous: “Object Storage V1 (Phonograph)—Palantir”, Jan. 29, 2023 (Jan. 29, 2023), pp. 1-3, XP093209496, Retrieved from the Internet: URL: https://web.archive.org/web/20230129030331/https://www.palantir.com/docs/found… [cited by applicant]
Anonymous: “Save changes to the Ontology—Palantir”, May 23, 2022 (May 23, 2022), pp. 1-4, XP093205386, Retrieved from the Internet: URL: https://web.archive.org/web/20220523050510/https://www.palantir.com/docs/foundry/o… [cited by applicant]
Anonymous: “Permissions—Palantir Foundry”, May 21, 2022 (May 21, 2022), pp. 1-6, XP093205376, Retrieved from the Internet: URL: https://web.archive.org/web/20220521182741/https://www.palantir.com/docs/foundry/ontology-m… [cited by applicant]
Extended European Search Report in EP Application No. 24171562.2, dated Oct. 14, 2024, in 17 pages. [cited by applicant]
Extended European Search Report in EP Application No. 24171618.2, dated Oct. 14, 2024, in 15 pages. [cited by applicant]
Extended European Search Report in EP Application No. 24171617.4, dated Oct. 14, 2024, in 15 pages. [cited by applicant]
Extended European Search Report in EP Application No. 25170785.7, dated Sep. 22, 2025, 14 pages. [cited by applicant]
Extended European Search Report in EP Application No. 25170786.5, dated Sep. 24, 2025, 8 pages. [cited by applicant]
Sethi, Raghav, et al. “Presto: SQL on everything.” 2019 IEEE 35th International Conference on Data Engineering (ICDE), https://doi.org/10.1109/icde.2019.00196, Apr. 2019, 12 pages. [cited by applicant]
U.S. Appl. No. 19/286,033, filed Jul. 30, 2025. [cited by applicant]
U.S. Appl. No. 19/329,378, filed Sep. 15, 2025. [cited by applicant]