IP Library Granted Patent US 9,292,570
Granted Patent B2
US 9,292,570 · App. 13/856,960 · Granted Mar 22, 2016

System and method for optimizing pattern query searches on a graph database

Inventors: Daniel Sargeant (Austin, TX); Morgan Hollinger (Cedar Park, TX)
Assignee: NORTHROP GRUMMAN SYSTEMS CORPORATION
G06F17/30442G06F17/30451G06F17/30958G06F17/30286G06F17/30595G06F17/30864
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,292,570
App. No.
13/856,960
Granted
Mar 22, 2016
Kind
B2
Abstract

An embodiment of the system and method for optimizing pattern query searches on a graph database uses a pattern query optimizer to optimize execution of the search plan for any sequence of SQL expressions by separating or breaking a pattern query into multiple subpattern queries before converting the subpattern queries into SQL expressions. An embodiment of the pattern query optimizer algorithmically, without intervention by an analyst, decomposes any pattern query into a set of subpattern queries by first identifying branches and cycles within a pattern query and then decomposing each identified branch and cycle into equivalent straight line paths, i.e., straight line nodes joined by edges. Cardinality may be used to improve the performance of pattern searches.

Claims (29)

1. A method for optimizing pattern query searches on a graph database, the method being implemented by a computer including at least one processor and comprising:

providing a pattern search engine operative to generate a search plan on the graph database from a first pattern query, the pattern search engine being executed by the processor;

identifying, by the at least one processor, in the first pattern query a first subpattern query and a second subpattern query that is structurally equivalent to the first subpattern query;

wherein the first subpattern query and the second subpattern query each comprise a single path;

wherein the structural equivalence meets criteria of:

the paths have a same number of nodes;

nodes in a same position on the paths are of a same type;

nodes in a same position on the paths have same qualifications;

only start and end nodes are shared;

none of non-shared nodes between the paths are exported;

any shared node is shared with both paths in a same position;

having one shared node between both paths; and

non-shared nodes in the paths are not used in pattern query language (PQL) value or constraint expressions; and

reducing the number of search expressions in the search plan based on the structural equivalence between the first subpattern query and the second subpattern query.

2. The method of claim 1 , wherein the graph database is implemented in a relational database management system (RDBMS).

3. The method of claim 1 , wherein the pattern query comprises one or more branches.

4. The method of claim 1 , wherein the pattern query comprises one or more cycles.

5. The method of claim 1 , wherein the pattern query comprises one or more branches and one or more cycles.

6. The method of claim 1 , wherein the first subpattern query and the second subpattern query are each straight line nodes joined by edges.

7. The method of claim 1 , wherein the reduction of the number of search expressions in the search plan is converted into a single search query language (SQL) expression.

8. The method of claim 1 , wherein the first subpattern query and the second subpattern query each comprise a single path.

9. The method of claim 8 , wherein the structural equivalence meets a criteria of the paths having a same number of nodes.

10. The method of claim 8 , wherein the structural equivalence meets a criteria of nodes in a same position on the paths are of a same type.

11. The method of claim 8 , wherein the structural equivalence meets a criteria of nodes in a same position on the paths have same qualifications.

12. The method of claim 8 , wherein the structural equivalence meets a criteria of only start and end nodes are shared.

13. The method of claim 8 , wherein the structural equivalence meets a criteria of none of non-shared nodes between the paths are exported.

14. The method of claim 8 , wherein the structural equivalence meets a criteria of any shared node is shared with both paths in the same position.

15. The method of claim 8 , wherein the structural equivalence meets a criteria of having one shared node between both paths.

16. The method of claim 8 , wherein the structural equivalence meets a criteria of non-shared nodes in the paths are not used in pattern query language (PQL) value or constraint expressions.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2015
From: 21CT, INC.
To: NORTHROP GRUMMAN SYSTEMS CORPORATION
Reel/Frame 036241/0873 →
PARTIAL TERMINATION OF SECURITY INTEREST IN PATENTS AND TRADEMARKS Recorded Mar 25, 2015
From: CADENCE BANK
To: 21CT, INC.
Reel/Frame 035293/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2013
From: SARGEANT, DANIEL; HOLLINGER, MORGAN
To: 21CT, INC.
Reel/Frame 030154/0746 →
Continuity (3)
Continuation 12950582 · Nov 19, 2010
Provisional Application 61262917 · Nov 19, 2009
Related Publication 20130226893A1 · Aug 29, 2013