IP Library Granted Patent US 10,769,209
Granted Patent B1
US 10,769,209 · App. 15/406,650 · Granted Sep 8, 2020

Apparatus and method for template driven data extraction in a semi-structured document database

Inventors: Fayez Saliba (Menlo Park, CA); Christopher Lindblad (Moraga, CA)
Assignee: MarkLogic Corporation
G06F16/81G06F16/8373G06F16/84G06F16/93
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,769,209
App. No.
15/406,650
Granted
Sep 8, 2020
Kind
B1
Abstract

An apparatus has a processor and a memory connected to the processor. The memory stores instructions executed by the processor to ingest and store a semi-structured document within a database. A template is suggested based upon an evaluation of the semi-structured document. The template includes a context specification of a template path that corresponds to a path within the semi-structured document. The template further includes an index specification characterizing data to be extracted from the semi-structured document. A template selection is received. The template selection is executed to form an index entry for the semi-structured document within an index.

Claims (27)

1. An apparatus, comprising:

a processor implemented by hardware; and

a memory connected to the processor, the memory storing instructions executed by the processor to:

ingest and store a semi-structured document within a database;

suggest a template based upon an evaluation of the semi-structured document, wherein

the template includes a context specification defining a template context that corresponds to a context within the semi-structured document, and

the template further includes an index specification characterizing data to be extracted from the semi-structured document;

receive a template selection of the suggested template;

execute the template selection to form an index entry of a respective query format for the semi-structured document within an index, of the database, that supports multiple query formats, including relational query format and triple (subject-predicate-object) query format;

receive a query in at least one of the multiple query formats; and

resolve the query in the at least one of the multiple query formats against the index.

2. The apparatus of claim 1 , wherein the index is a columnar index.

3. The apparatus of claim 1 , wherein the index is a geospatial index.

4. The apparatus of claim 1 , wherein the index is a range index.

5. The apparatus of claim 1 , wherein the index is a field index.

6. The apparatus of claim 1 , further comprising instructions executed by the processor to:

receive a first template selection with a first context specification and a first index specification, and

receive a second template selection with a second context specification and a second index specification.

7. The apparatus of claim 6 , further comprising instructions executed by the processor to execute the first template selection to form a first index entry for the semi-structured document within the index and execute the second template selection to form a second index entry for the semi-structured document within the index.

8. The apparatus of claim 1 , wherein the template includes a transformation specification characterizing operations to be performed on the data extracted from the semi-structured document.

9. The apparatus of claim 1 , wherein the template includes a child template with a nested context specification relative to the context specification.

10. The apparatus of claim 9 , wherein the child template has a nested child template.

11. The apparatus of claim 1 , wherein the index entry is a triple data entry with a subject including a predefined element and an appended element extracted from the semi-structured document, a predicate with a predefined element and an object with the data extracted from the semi-structured document.

12. The apparatus of claim 1 , wherein the index entry is a triple data entry including a pre-defined subject, predicate and object.

13. The apparatus of claim 1 , wherein the index entry is a triple data entry including a dynamically formed subject, predicate and object extracted from the semi-structured document.

14. The apparatus of claim 1 , wherein the index entry is a triple data entry with data appended to the data extracted from the semi-structured document.

15. The apparatus of claim 1 , wherein the index entry is a triple data entry with transformed data from the semi-structured document.

Assignments (6)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS FEDERAL SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 071773/0112 →
CHANGE OF NAME Recorded Apr 29, 2025
From: MARKLOGIC CORPORATION
To: PROGRESS FEDERAL SOLUTIONS, INC.
Reel/Frame 071121/0160 →
SECURITY INTEREST Recorded Mar 7, 2024
From: MARKLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066683/0223 →
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2024
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS ADMINISTRATIVE AGENT
To: MARKLOGIC CORPORATION
Reel/Frame 066633/0745 →
SECURITY INTEREST Recorded Oct 20, 2020
From: MARKLOGIC CORPORATION
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 054115/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: SALIBA, FAYEZ; LINDBLAD, CHRISTOPHER
To: MARKLOGIC CORPORATION
Reel/Frame 041002/0363 →
Cited By (1)
US 12,450,288