Apparatuses, systems, and methods for efficient graph pattern matching and querying
First Claim
1. A method comprising:
- providing a graph comprising vertices and edges associated with the vertices;
sending one or more first activation messages to a first set of the vertices, wherein each of the first activation messages has a value;
at each vertex of the first set of vertices;
determining whether the values of the one or more first activation messages received at the vertex meets a query condition;
in response to determining that the values of the one or more first activation messages received at the vertex meets the query condition, sending one or more second activation messages from the vertex to a second set of vertices;
receiving votes from graph partitions associated with the vertices, wherein the votes indicate whether to continue;
determining whether to continue based on the votes;
in response to determining to continue, performing a query plan; and
in response to determining not to continue, halting performance of the query plan.
0 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, systems, and methods for efficient graph pattern matching and querying are disclosed. According to an aspect, a method includes providing a graph comprising vertices and edges associated with the vertices. Further, the method includes sending one or more first activation messages to a first set of the vertices, wherein each of the first activation messages has a value. The method also includes determining, at each vertex of the first set of vertices, whether the values of the one or more first activation messages received at the vertex meets a query condition. Further, the method also includes sending, at each vertex of the first set of vertices, one or more second activation messages from the vertex to a second set of vertices in response to determining that the values of the one or more first activation messages received at the vertex meets the query condition.
73 Citations
30 Claims
-
1. A method comprising:
-
providing a graph comprising vertices and edges associated with the vertices; sending one or more first activation messages to a first set of the vertices, wherein each of the first activation messages has a value; at each vertex of the first set of vertices; determining whether the values of the one or more first activation messages received at the vertex meets a query condition; in response to determining that the values of the one or more first activation messages received at the vertex meets the query condition, sending one or more second activation messages from the vertex to a second set of vertices; receiving votes from graph partitions associated with the vertices, wherein the votes indicate whether to continue; determining whether to continue based on the votes; in response to determining to continue, performing a query plan; and in response to determining not to continue, halting performance of the query plan. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. The method of claim f further comprising recording the vertex firings and resultant vertex activations in performance of sub-graph pattern matching plans directly over a reified graph representation of any graph or digraph and iterating over that record of firings and activations to generate matches to sub-graph pattern.
-
16. A computing device comprising:
-
at least one processor and memory configured to; provide a graph comprising vertices and edges associated with the vertices; send one or more first activation messages to a first set of the vertices, wherein each of the first activation messages has a value; at each vertex of the first set of vertices; determine whether the values of the one or more first activation messages received at the vertex meets a query condition; send one or more second activation messages from the vertex to a second set of vertices in response to determining that the values of the one or more first activation messages received at the vertex meets the query condition; receive votes from graph partitions associated with the vertices, wherein the votes indicate whether to continue; determine whether to continue based on the votes; perform a query plan in response to determining to continue; and halt performance of the query plan in response to determining not to continue. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method comprising:
-
providing a graph comprising vertices and edges associated with the vertices; executing sub-graph pattern matching through vertex firing of messages to connected vertices; in response to receipt of a message at one or more vertices, activating the one or more vertices; applying threshold tests to aggregated messages received per activated vertex, wherein the sub-graph pattern matching steps are executed directly over a reified graph representation for any graph or digraph; and composing sub-graph pattern matching plans to represent larger sub-graph patterns, wherein for every vertex and every threshold test satisfied by the activations of that vertex in the current round triggers a vertex firing message to connected vertices for that vertex, and a successive round of vertex activations and threshold tests.
-
Specification