Systems and methods for optimizing performance of graph operations
First Claim
1. A method of optimizing graph operations, performed by a computing system having one or more processors and memory, the method comprising:
- receiving a first request to perform a first operation on a first graph, wherein the first graph comprises a set of vertices and a set of edges, each edge connecting a pair of vertices, and wherein each vertex has one or more associated properties;
logging the first request, but not performing the requested first operation;
receiving a second request to perform a second operation on the first graph;
logging the second request, but not performing the requested second operation;
receiving a query for data in the first graph including property values for one or more vertices in the first graph; and
in response to the query;
optimizing a performance of the first and second operations;
generating a second graph from the first graph, wherein the generation comprises performing the first and second requested operations on the first graph according to the optimization;
performing the query on the second graph to retrieve data responsive to the query contained in the second graph including property values for one or more vertices in the second graph; and
returning the data responsive to the query.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of optimizing graph operations is performed by a computing system. The method comprises: (1) receiving a first request to perform a first operation on a first graph, where the first graph comprises a set of vertices and a set of edges, each edge connecting a pair of vertices, and each vertex having one or more associated properties; (2) logging the first request, but not performing the first operation; (3) receiving a second request to perform a second operation; (4) logging the second request, but not performing the second operation; (5) receiving a query for data from the first graph, where the data includes property values for one or more vertices; (6) in response to the query: (a) generating a second graph by optimizing and performing the first and second operations; and (b) returning data responsive to the query, where the returned data is based on the second graph.
-
Citations
20 Claims
-
1. A method of optimizing graph operations, performed by a computing system having one or more processors and memory, the method comprising:
-
receiving a first request to perform a first operation on a first graph, wherein the first graph comprises a set of vertices and a set of edges, each edge connecting a pair of vertices, and wherein each vertex has one or more associated properties; logging the first request, but not performing the requested first operation; receiving a second request to perform a second operation on the first graph; logging the second request, but not performing the requested second operation; receiving a query for data in the first graph including property values for one or more vertices in the first graph; and in response to the query; optimizing a performance of the first and second operations; generating a second graph from the first graph, wherein the generation comprises performing the first and second requested operations on the first graph according to the optimization; performing the query on the second graph to retrieve data responsive to the query contained in the second graph including property values for one or more vertices in the second graph; and returning the data responsive to the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
one or more processors; memory; and one or more programs stored in the memory for execution by the one or more processors, the one or more programs comprising instructions for; receiving a first request to perform a first operation on a first graph, wherein the first graph comprises a set of vertices and a set of edges, each edge connecting a pair of vertices, and wherein each vertex has one or more associated properties; logging the first request, but not performing the requested first operation;
receiving a second request to perform a second operation on the first graph;logging the second request, but not performing the requested second operation; receiving a query for data from the first graph including property values for one or more vertices in the first graph; and in response to the query; optimizing a performance of the first and second operations; generating a second graph, wherein the generation comprises performing the first and second requested operations on the first graph according to the optimization; performing the query on the second graph to retrieve data responsive to the query contained in the second graph including property values for one or more vertices in the second graph; and returning the data responsive to the query. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer system having one or more processors and memory storing one or more programs for execution by the one or more processors, the one or more programs comprising instructions for:
-
receiving a first request to perform a first operation on a first graph, wherein the first graph comprises a set of vertices and a set of edges, each edge connecting a pair of vertices, and wherein each vertex has one or more associated properties; logging the first request, but not performing the requested first operation; receiving a second request to perform a second operation on the first graph; logging the second request, but not performing the requested second operation; receiving a query for data from the first graph including property values for one or more vertices in the first graph; in response to the query; optimizing a performance of the first and second operations; generating a second graph, wherein the generation comprises performing the first and second requested operations on the first graph according to the optimization; performing the query on the second graph to retrieve data responsive to the query contained in the second graph including property values for one or more vertices in the second graph; and returning the data responsive to the query. - View Dependent Claims (19, 20)
-
Specification