IP Library Granted Patent US 9,589,014
Granted Patent B2
US 9,589,014 · App. 14/954,680 · Granted Mar 7, 2017

Creating data in a data store using a dynamic ontology

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 9,589,014
App. No.
14/954,680
Granted
Mar 7, 2017
Kind
B2
Abstract

In one embodiment, a method comprises creating and storing an ontology for a data store in response to receiving first user input defining the ontology, wherein the ontology comprises a plurality of data object types and a plurality of object property types; creating one or more parser definitions in response to receiving second user input defining the parser definitions, wherein each of the parser definitions specifies one or more sub-definitions of how to transform first input data into modified input data that is compatible with one of the object property types; and storing each of the one or more parser definitions in association with one of the plurality of object property types.

Claims (43)

1. A method comprising:

storing a plurality of parser definitions, wherein each parser definition is associated with an object type, wherein a particular parser definition of the one or more parser definitions comprises two or more parser sub-definitions, wherein a first parser sub-definition of the two or more parser sub-definitions is associated with a first property type, and wherein a second parser sub-definition of the two or more parser sub-definitions is associated with a second property type, wherein at least the first property type is a composite type that includes two or more of a string component, a date component, or a number component, by:

displaying, on a computer display device using a user interface screen display, a text box that can receive a user entry of regular expression pattern text;

creating and storing a plurality of property type component mappings that associate sub-definitions of the regular expression pattern text with property type components by selecting from a combo box in the user interface screen display, wherein the two or more parser sub-definitions comprise the sub-definitions of the regular expression pattern text;

determining whether input data matches the particular parser definition;

based at least in part on determining that the input data matches the particular parser definition:

creating at least a first property instance of the first property type and a second property instance of the second property type;

storing first data corresponding to a first portion of the input data in the first property instance, wherein the first portion of the input data and the corresponding first data each include two or more of string data, date data, or number data;

storing second data based on a second portion of the input data in the second property instance;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , wherein each of the two or more parser sub-definitions is a syntactic pattern that is referenced by the regular expression pattern text.

3. The method of claim 1 , wherein the particular parser definition is the regular expression pattern text and references the first property type as a token.

4. The method of claim 1 , further comprising:

storing a validator for the first property type, wherein the validator defines valid data for the first property type;

determining whether the first data matches the validator before storing the first data in the first property instance.

5. The method of claim 4 , wherein the validator is one or more of: an expression that defines a range of valid data, a set of valid data, or a code module that, when executed against particular input data, determines whether the particular input data matches a specified syntax or data model.

6. The method of claim 1 , wherein the composite type consists of a string component and a number component, and wherein the first portion of the input data and the corresponding first data each consist of string data and number data.

7. The method of claim 1 , wherein the particular parser definition comprises a particular sub-definition that is associated with a particular property type, wherein the particular property type comprises a particular component that is not required to match any portion of the input data when determining whether the input data matches the particular parser definition.

8. The method of claim 1 , further comprising transforming the first portion of the input data to the first data, wherein the first portion is not valid for the first property type before the first portion is transformed to the first data, and wherein the first data is valid for the first property type after the first portion is transformed to the first data.

9. A computer system comprising:

one or more processors;

one or more non-transitory computer-readable storage media storing instructions, which, when executed by the one or more processors, cause:

storing a plurality of parser definitions, wherein each parser definition is associated with an object type, wherein a particular parser definition of the one or more parser definitions comprises two or more parser sub-definitions, wherein a first parser sub-definition of the two or more parser sub-definitions is associated with a first property type, and wherein a second parser sub-definition of the two or more parser sub-definitions is associated with a second property type, wherein at least the first property type is a composite type that includes two or more of a string component, a date component, or a number component, by:

displaying, on a computer display device using a user interface screen display, a text box that can receive a user entry of regular expression pattern text;

creating and storing a plurality of property type component mappings that associate sub-definitions of the regular expression pattern text with property type components by selecting from a combo box in the user interface screen display, wherein the two or more parser sub-definitions comprise the sub-definitions of the regular expression pattern text;

determining whether input data matches the particular parser definition;

based at least in part on determining that the input data matches the particular parser definition:

creating at least a first property instance of the first property type and a second property instance of the second property type;

storing first data corresponding to a first portion of the input data in the first property instance, wherein the first portion of the input data and the corresponding first data each include two or more of string data, date data, or number data;

storing second data based on a second portion of the input data in the second property instance.

10. The computer system of claim 9 , wherein each of the two or more parser sub-definitions is a syntactic pattern that is referenced by the regular expression pattern text.

11. The computer system of claim 9 , wherein the particular parser definition is the regular expression pattern text and references the first property type as a token.

12. The computer system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause:

storing a validator for the first property type, wherein the validator defines valid data for the first property type;

determining whether the first data matches the validator before storing the first data in the first property instance.

13. The computer system of claim 12 , wherein the validator is one or more of: an expression that defines a range of valid data, a set of valid data, or a code module that, when executed against particular input data, determines whether the particular input data matches a specified syntax or data model.

14. The computer system of claim 9 , wherein the composite type consists of a string component and a number component, and wherein the first portion of the input data and the corresponding first data each consist of string data and number data.

15. The computer system of claim 9 , wherein the particular parser definition comprises a particular sub-definition that is associated with a particular property type, wherein the particular property type comprises a particular component that is not required to match any portion of the input data when determining whether the input data matches the particular parser definition.

16. The computer system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause transforming the first portion of the input data to the first data, wherein the first portion is not valid for the first property type before the first portion is transformed to the first data, and wherein the first data is valid for the first property type after the first portion is transformed to the first data.

17. The method of claim 1 , further comprising, using the user interface screen display, receiving input specifying one or more constraints, default values and other attributes of a parser definition.

18. The method of claim 17 , wherein the input specifying one or more constraints, default values and other attributes of a parser definition comprises an indication that a match to a particular property type component is not required.

19. The computer system of claim 9 , wherein the one or more non-transitory computer-readable storage media further store instructions, which, when executed by the one or more processors, cause: using the user interface screen display, receiving input specifying one or more constraints, default values and other attributes of a parser definition.

20. The computer system of claim 19 , wherein the input specifying one or more constraints, default values and other attributes of a parser definition comprises an indication that a match to a particular property type component is not required.

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 →