GRAPH SEARCH OPTIMIZATION SYSTEM BASED ON SORTED PROPERTY TECHNIQUES
First Claim
1. A method performed by a computing system to identify edges of a property graph that satisfy a multi-edge constraint that specifies a first property of a first edge, a second property of a second edge, and an order relation between the first property and the second property, the method comprising:
- accessing a first sort of first edges connected to a first vertex, the first sort based on a value of the first property of the first edges;
accessing a second sort of second edges connected to a second vertex, the second sort based on a value of the second property of the second edges;
initializing a current first edge to a start first edge of the first sort;
initializing a current second edge to a start second edge of the second sort;
repeating until a termination criterion is satisfied,when the multi-edge constraint is not satisfied by the current first edge and the current second edge, advancing the current first edge; and
when the multi-edge constraint is satisfied by the current first edge and the current second edge,designating as satisfying the multi-edge constraint each combination the current second edge and each first edge from the current first edge to an end edge; and
advancing the current second edge.
1 Assignment
0 Petitions
Accused Products
Abstract
Various systems are provided for optimizing the searching of a graph for a portion that matches a pattern is provided. A Graph Search Optimization System (“GSOS”) provides various techniques for reducing the computational expense when searching for patterns within a graph. The GSOS provides techniques that include an edge-count directed (“ECD”) system, a derived constraint (“DC”) system, and a sorted property (“SP”) system. The ECD system matches a pattern in a direction based on the number of edges for that direction. The DC system derives a single-element constraint from a multi-element constraints to avoid having to check multiple elements. The SP system processes edges of a graph in a sorted order based on the value of a property of the edges.
-
Citations
13 Claims
-
1. A method performed by a computing system to identify edges of a property graph that satisfy a multi-edge constraint that specifies a first property of a first edge, a second property of a second edge, and an order relation between the first property and the second property, the method comprising:
-
accessing a first sort of first edges connected to a first vertex, the first sort based on a value of the first property of the first edges; accessing a second sort of second edges connected to a second vertex, the second sort based on a value of the second property of the second edges; initializing a current first edge to a start first edge of the first sort; initializing a current second edge to a start second edge of the second sort; repeating until a termination criterion is satisfied, when the multi-edge constraint is not satisfied by the current first edge and the current second edge, advancing the current first edge; and when the multi-edge constraint is satisfied by the current first edge and the current second edge, designating as satisfying the multi-edge constraint each combination the current second edge and each first edge from the current first edge to an end edge; and advancing the current second edge. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing system for identifying edges of a property graph that satisfy a multi-edge constraint, the computing system comprising:
-
one or more computer-readable storage mediums storing computer-executable instructions for controlling the computing system to; traverse a first sort of first edges and a second sort of second edges in order by repeatedly; advancing a current first edge through the first sort until the current first edge and a current second edge satisfy the multi-edge constraint; designating as satisfying the constraint each combination of the current second edge and a first edge from the current first edge to an end first edge at one end of the first sort; and advancing the second current edge through the second sort until the current first edge and the current second edge do not satisfy the multi-edge constraint; and one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification