IP Library Granted Patent US 10,909,159
Granted Patent B2
US 10,909,159 · App. 16/283,622 · Granted Feb 2, 2021

Multi-language support for dynamic ontology

Inventors: David Leblanc (Ottawa, CA); John Butters (Wellington, NZ); Christopher Cook (Wellington, NZ)
Assignee: Palantir Technologies Inc.
G06F16/367G06F16/338G06F16/3331G06F40/30G06F9/454G06F16/173
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,909,159
App. No.
16/283,622
Granted
Feb 2, 2021
Kind
B2
Abstract

A system with methodology for providing multi-language support for dynamic ontology. In one embodiment, for example, a method comprises: storing an ontology for a data store, wherein the ontology comprises a plurality of data types; for each data type of the plurality of data types: storing, in the ontology, one or more display values, wherein each display value is associated with a locale; determining a locale identifier corresponding to a particular locale; selecting a particular display value corresponding to the particular locale; displaying the particular display value.

Claims (56)

1. A method comprising:

at one or more computing devices comprising one or more processors and storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:

storing an ontology for a data store, wherein the ontology comprises: a plurality of data types and a plurality of display values, wherein each display value is associated with a particular data type and a particular locale, wherein the plurality of display values includes one or more default display values, wherein each default display value is associated with a particular data type and is not associated with a particular locale;

determining one or more data types of the plurality of data types to be displayed in a graphical user interface at a user computing device;

determining a locale identifier corresponding to a locale of the user computing device;

generating the graphical user interface by:

determining, for each data type of the one or more data types, a display value corresponding to the data type and the locale of the user computing device, based on the locale identifier;

including, in the graphical user interface, the display value for each data type of the one or more data types.

2. The method of claim 1 , wherein the graphical user interface is for an application executing on the user computing device, and wherein determining the locale identifier comprises determining a locale associated with a particular version of the application executing on the user computing device.

3. The method of claim 1 , wherein determining the locale identifier comprises receiving user input at the user computing device, the user input specifying a locale.

4. The method of claim 1 , wherein determining the locale identifier comprises determining a locale identifier specified in a configuration file stored at the user computing device.

5. The method of claim 1 , wherein the determining and generating are performed by a particular server computer of a plurality of server computers in response to receiving a request from the user computing device, wherein each server computer of the plurality of server computers is associated with a respective locale, and wherein determining the locale identifier comprises determining a locale associated with the particular server computer.

6. The method of claim 1 , further comprising:

determining, for a particular data type of the one or more data types, no display value corresponds to the particular data type and the locale of the user computing device, based on the locale identifier;

selecting a default display value associated with the particular data type of the one or more data types;

including, in the graphical user interface, the default display value for the particular data type of the one or more data types.

7. The method of claim 1 , wherein the ontology further comprises a plurality of parsers, wherein each parser is associated with a particular data type and a particular locale, the method further comprising:

receiving, via the graphical user interface, user input data corresponding to a particular data type of the one or more data types;

determining, for the particular data type, a parser corresponding to the particular data type and the locale of the user computing device;

parsing the input data using the parser.

8. A system comprising:

one or more processors;

one or more computer-readable media storing one or more computer programs for execution by the one or more processors, the one or more computer programs comprising instructions for:

storing an ontology for a data store, wherein the ontology comprises: a plurality of data types and a plurality of display values, wherein each display value is associated with a particular data type and a particular locale, wherein the plurality of display values includes one or more default display values, wherein each default display value is associated with a particular data type and is not associated with a particular locale;

determining one or more data types of the plurality of data types to be displayed in a graphical user interface at a user computing device;

determining a locale identifier corresponding to a locale of the user computing device;

generating the graphical user interface by:

determining, for each data type of the one or more data types, a display value corresponding to the data type and the locale of the user computing device, based on the locale identifier;

including, in the graphical user interface, the display value for each data type of the one or more data types.

9. The system of claim 8 , wherein the graphical user interface is for an application executing on the user computing device, and wherein determining the locale identifier comprises determining a locale associated with a particular version of the application executing on the user computing device.

10. The system of claim 8 , wherein the determining and generating are performed by a particular server computer of plurality of server computers in response to receiving a request from the user computing device, wherein each server computer of the plurality of server computers is associated with a respective locale, and wherein determining the locale identifier comprises determining a locale associated with the particular server computer.

11. The system of claim 8 , wherein the one or more computer programs further comprise instructions for:

determining, for a particular data type of the one or more data types, no display value corresponds to the particular data type and the locale of the user computing device, based on the locale identifier;

selecting a default display value associated with the particular data type of the one or more data types;

including, in the graphical user interface, the default display value for the particular data type of the one or more data types.

12. The system of claim 8 , wherein the ontology further comprises a plurality of parsers, wherein each parser is associated with a particular data type and a particular locale, wherein the one or more computer programs further comprise instructions for:

receiving, via the graphical user interface, user input data corresponding to a particular data type of the one or more data types;

determining, for the particular data type, a parser corresponding to the particular data type and the locale of the user computing device;

parsing the input data using the parser.

13. One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of:

storing an ontology for a data store, wherein the ontology comprises: a plurality of data types and a plurality of display values, wherein each display value is associated with a particular data type and a particular locale, wherein the plurality of display values includes one or more default display values, wherein each default display value is associated with a particular data type and is not associated with a particular locale;

determining one or more data types of the plurality of data types to be displayed in a graphical user interface at a user computing device;

determining a locale identifier corresponding to a locale of the user computing device;

generating the graphical user interface by:

determining, for each data type of the one or more data types, a display value corresponding to the data type and the locale of the user computing device, based on the locale identifier;

including, in the graphical user interface, the display value for each data type of the one or more data types.

14. The one or more non-transitory computer-readable media of claim 13 , wherein the graphical user interface is for an application executing on the user computing device, and wherein determining the locale identifier comprises determining a locale associated with a particular version of the application executing on the user computing device.

15. The one or more non-transitory computer-readable media of claim 13 , wherein the determining and generating are performed by a particular server computer of a plurality of server computers in response to receiving a request from the user computing device, wherein each server computer of the plurality of server computers is associated with a respective locale, and wherein determining the locale identifier comprises determining a locale associated with the particular server computer.

16. The one or more non-transitory computer-readable media of claim 13 , wherein the instructions, when executed by the one or more processors, further cause performance of:

determining, for a particular data type of the one or more data types, no display value corresponds to the particular data type and the locale of the user computing device, based on the locale identifier;

selecting a default display value associated with the particular data type of the one or more data types;

including, in the graphical user interface, the default display value for the particular data type of the one or more data types.

17. The one or more non-transitory computer-readable media of claim 13 , wherein the ontology further comprises a plurality of parsers, wherein each parser is associated with a particular data type and a particular locale, wherein the instructions, when executed by the one or more processors, further cause performance of:

receiving, via the graphical user interface, user input data corresponding to a particular data type of the one or more data types;

determining, for the particular data type, a parser corresponding to the particular data type and the locale of the user computing device;

parsing the input data using the parser.

Assignments (7)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
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 →
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: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
Continuity (2)
Continuation 15050263 · Feb 22, 2016
Related Publication 20190188219A1 · Jun 20, 2019