IP Library Granted Patent US 10,803,106
Granted Patent B1
US 10,803,106 · App. 14/630,472 · Granted Oct 13, 2020

System with methodology for dynamic modular ontology

Inventors: Mitch Beard (Jersey City, NJ); Mike Glazer (San Francisco, CA); Robin Lim (Mountain View, CA); Joel Ossher (Vienna, VA); Youssef Moussaoui (Palo Alto, CA); Dathan Bennett (Palo Alto, CA); Javier Campanini (Mountain View, CA); Agatha Yu (San Francisco, CA); Mark Elliot (Arlington, VA); Steve Matuszek (McLean, VA)
Assignee: Palantir Technologies Inc.
G06F16/355
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,803,106
App. No.
14/630,472
Granted
Oct 13, 2020
Kind
B1
Abstract

A system with methodology for dynamic modular ontology. In one embodiment, for example, a method comprises: receiving a command from an analyst to create a new ontology module; receiving, from the analyst, a selection of a first ontology module to import into the new ontology module; receiving, from the analyst, a selection of a second ontology module to import into the new ontology module; detecting an ambiguous data type definition conflict between a first definition of a data type in the first ontology module and a second definition of the data type in the second ontology module; generating a third definition of the data type reflecting a resolution of the ambiguous data type definition conflict; and storing, in a data container, the new ontology module comprising the third definition of the data type.

Claims (60)

1. A method performed by a computing system comprising one or more processors and storage media, the storage media storing one or more programs executed by the one or more processors to perform the method, the method comprising:

receiving a command from a first analyst to create a new domain-specific ontology module;

receiving, from the first analyst, a selection of a first domain-specific ontology module to import into the new domain-specific ontology module;

receiving, from the first analyst, configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the first domain-specific ontology module;

receiving, from a second analyst that is not the first analyst, a selection of a second domain-specific ontology module to import into the new domain-specific ontology module;

receiving, from the second analyst, configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the second domain-specific ontology module;

based on the receiving, from the second analyst, the configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the second domain-specific ontology module, detecting an ambiguous data type definition conflict between a first definition of a particular data type in the first domain-specific ontology module and a second definition of the particular data type in the second domain-specific ontology module;

wherein the second domain-specific ontology module is configured to directly inherit at least the first definition of the particular data type in the first domain-specific ontology module;

wherein the second domain-specific ontology module overrides the first definition of the particular data type directly inherited from the first domain-specific ontology module with the second definition of the particular data type;

wherein the detecting the ambiguous data type definition conflict is based, at least in part, on the new domain-specific ontology module being configured to directly inherit the first definition of the particular data type from the first domain-specific ontology module, directly inherit the second definition of the particular data type from the second domain-specific ontology module, and transitively inherit the first definition of the particular data type from the first domain-specific ontology module via the second domain-specific ontology module;

based on the detecting the ambiguous data type definition conflict, causing display of a graphical user interface to the second analyst that indicates the ambiguous data type definition conflict between the first definition of the particular data type in the first domain-specific ontology module and the second definition of the particular data type in the second domain-specific ontology module;

resolving the ambiguous data type definition conflict based on an input provided by the second analyst via the graphical user interface;

wherein the input selects at most one of the first definition of the particular data type or the second definition of the particular data type;

based on the resolving the ambiguous data type definition conflict, generating a third definition of the particular data type reflecting a resolution of the ambiguous data type definition conflict;

storing, in a data container, the new domain-specific ontology module comprising the third definition of the particular data type; and

wherein the third definition of the particular data type is one of the first definition or the second definition.

2. The method of claim 1 , wherein the data container is a file.

3. The method of claim 1 , wherein the particular data type is a data object, a property type, or a link type.

4. The method of claim 1 , further comprising:

using the new domain-specific ontology module to type data objects, links, and properties stored in a database.

5. One or more non-transitory computer-readable media storing computer-executable instructions which, when executed by one or more processors, cause the one or more processors to perform:

receiving a command from a first analyst to create a new domain-specific ontology module;

receiving, from the first analyst, a selection of a first domain-specific ontology module to import into the new domain-specific ontology module;

receiving, from the first analyst, configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the first domain-specific ontology module;

receiving, from a second analyst that is not the first analyst, a selection of a second domain-specific ontology module to import into the new domain-specific ontology module;

receiving, from the second analyst, configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the second domain-specific ontology module;

based on the receiving, from the second analyst, the configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the second domain-specific ontology module, detecting an ambiguous data type definition conflict between a first definition of a particular data type in the first domain-specific ontology module and a second definition of the particular data type in the second domain-specific ontology module;

wherein the second domain-specific ontology module is configured to directly inherit at least the first definition of the particular data type in the first domain-specific ontology module;

wherein the second domain-specific ontology module overrides the first definition of the particular data type directly inherited from the first domain-specific ontology module with the second definition of the particular data type;

wherein the detecting the ambiguous data type definition conflict is based, at least in part, on the new domain-specific ontology module being configured to directly inherit the first definition of the particular data type from the first domain-specific ontology module, directly inherit the second definition of the particular data type from the second domain-specific ontology module, and transitively inherit the first definition of the particular data type from the first domain-specific ontology module via the second domain-specific ontology module;

based on the detecting the ambiguous data type definition conflict, causing display of a graphical user interface to the second analyst that indicates the ambiguous data type definition conflict between the first definition of the particular data type in the first domain-specific ontology module and the second definition of the particular data type in the second domain-specific ontology module;

resolving the ambiguous data type definition conflict based on an input provided by the second analyst via the graphical user interface;

wherein the input selects at most one of the first definition of the particular data type or the second definition of the particular data type;

based on the resolving the ambiguous data type definition conflict, generating a third definition of the particular data type reflecting a resolution of the ambiguous data type definition conflict;

storing, in a data container, the new domain-specific ontology module comprising the third definition of the particular data type; and

wherein the third definition of the particular data type is one of the first definition or the second definition.

6. The one or more non-transitory computer-readable media of claim 5 , wherein the data container is a file.

7. The one or more non-transitory computer-readable media of claim 5 , wherein the particular data type is a data object, a property type, or a link type.

8. The one or more non-transitory computer-readable media of claim 5 , wherein the computer-executable instructions, when executed by the one or more processors, further cause the one or more processors to perform:

using the new domain-specific ontology module to type data objects, links, and properties stored in a database.

9. A system comprising:

one or more processors;

one or more non-transitory computer-readable media storing one or more computer programs configured, when executed by the one or more processors, to perform:

receiving a command from a first analyst to create a new domain-specific ontology module;

receiving, from the first analyst, a selection of a first domain-specific ontology module to import into the new domain-specific ontology module;

receiving, from the first analyst, configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the first domain-specific ontology module;

receiving, from a second analyst that is not the first analyst, a selection of a second domain-specific ontology module to import into the new domain-specific ontology module;

receiving, from the second analyst, configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the second domain-specific ontology module;

based on the receiving, from the second analyst, the configuration for the new domain-specific ontology module to directly inherit one or more data type definitions from the second domain-specific ontology module, detecting an ambiguous data type definition conflict between a first definition of a particular data type in the first domain-specific ontology module and a second definition of the particular data type in the second domain-specific ontology module;

wherein the second domain-specific ontology module is configured to directly inherit at least the first definition of the particular data type in the first domain-specific ontology module;

wherein the second domain-specific ontology module overrides the first definition of the particular data type directly inherited from the first domain-specific ontology module with the second definition of the particular data type;

wherein the detecting the ambiguous data type definition conflict is based, at least in part, on the new domain-specific ontology module being configured to directly inherit the first definition of the particular data type from the first domain-specific ontology module, directly inherit the second definition of the particular data type from the second domain-specific ontology module, and transitively inherit the first definition of the particular data type from the first domain-specific ontology module via the second domain-specific ontology module;

based on the detecting the ambiguous data type definition conflict, causing display of a graphical user interface to the second analyst that indicates the ambiguous data type definition conflict between the first definition of the particular data type in the first domain-specific ontology module and the second definition of the particular data type in the second domain-specific ontology module;

resolving the ambiguous data type definition conflict based on an input provided by the second analyst via the graphical user interface;

wherein the input selects at most one of the first definition of the particular data type or the second definition of the particular data type;

based on the resolving the ambiguous data type definition conflict, generating a third definition of the particular data type reflecting a resolution of the ambiguous data type definition conflict;

storing, in a data container, the new domain-specific ontology module comprising the third definition of the particular data type; and

wherein the third definition of the particular data type is one of the first definition or the second definition.

10. The system of claim 9 , wherein the data container is a file.

11. The system of claim 9 , wherein the particular data type is a data object, a property type, or a link type.

Assignments (3)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CHANGE OF NAME Recorded Feb 20, 2020
From: PALANTIR TECHNOLOGIES, INC.
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 051875/0934 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2015
From: BEARD, MITCH; GLAZER, MIKE; LIM, ROBIN; OSSHER, JOEL; MOUSSAOUI, YOUSSEF; BENNETT, DATHAN; CAMPANINI, JAVIER; YU, AGATHA; ELLIOT, MARK; MATUSZEK, STEVE
To: PALANTIR TECHNOLOGIES, INC.
Reel/Frame 036072/0053 →
Cited By (6)
US 12,380,152 US 12,417,240 US 12,436,990 US 12,481,635 US 12,561,339 US 12,670,204