VERIFYING CORRECTNESS IN GRAPH DATABASES
First Claim
1. A method, comprising:
- obtaining a set of records from a source of truth for a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates;
using the records to automatically generate, by one or more computer systems, a set of test cases comprising a set of queries of the graph database;
transmitting the queries to the graph database;
receiving, from the graph database, a set of query results in response to the queries; and
performing, by the one or more computer systems, a comparison of the query results and a set of expected results of the test cases to verify a correctness of the graph database.
3 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments provide a system that verifies correctness in a graph database. During operation, the system obtains a set of records from a source of truth for a graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. Next, the system uses the records to automatically generate a set of test cases containing a set of queries of the graph database. The system then transmits the queries to the graph database and receives, from the graph database, a set of query results in response to the queries. Finally, the system performs a comparison of the query results and a set of expected results of the test cases to verify a correctness of the graph database.
12 Citations
20 Claims
-
1. A method, comprising:
-
obtaining a set of records from a source of truth for a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates; using the records to automatically generate, by one or more computer systems, a set of test cases comprising a set of queries of the graph database; transmitting the queries to the graph database; receiving, from the graph database, a set of query results in response to the queries; and performing, by the one or more computer systems, a comparison of the query results and a set of expected results of the test cases to verify a correctness of the graph database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to; obtain a set of records from a source of truth for a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates; use the records to automatically generate a set of test cases comprising a set of queries of the graph database; transmit the queries to the graph database; receive, from the graph database, a set of query results in response to the queries; and perform a comparison of the query results and a set of expected results of the test cases to verify a correctness of the graph database. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system, comprising:
-
a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates; and a testing module comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to; obtain a set of records from a source of truth for the graph database; use the records to automatically generate a set of test cases comprising a set of queries of the graph database; transmit the queries to the graph database; receive, from the graph database, a set of query results in response to the queries; and perform a comparison of the query results and a set of expected results of the test cases to verify a correctness of the graph database. - View Dependent Claims (20)
-
Specification