Database evaluation of anchored length-limited path expressions
First Claim
1. A system comprising:
- a graph database representative of a network inventory;
a processor communicatively coupled to the graph database;
a user input communicatively coupled to the processor;
memory storing instructions that cause the processor to effectuate operations, the operations comprising;
receiving, via the user input, a database query comprising a regular pathway expression;
parsing the regular pathway expression into fragments, the fragments comprising an anchored fragment and at least one other fragment, a number of the fragments based on at least a length limitation of the regular pathway expression;
generating an operator directed acyclic graph (DAG) based on at least the fragments, the operator DAG comprising non-operator nodes, operator nodes, and a root, wherein the root is based on at least the anchored fragment;
removing, from the operator DAG, at least one of the non-operator nodes;
connecting, within the operator DAG, a first operator node of the operator nodes to a second operator node of the operator nodes, wherein the first operator node comprises a first edge into the removed at least one non-operator node and wherein the second operator node comprises a second edge from the removed at least one non-operator node; and
executing the operator DAG on the graph database to return a pathway set comprising at least one pathway that satisfies the regular pathway expression.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes parsing a regular pathway expression into fragments including an anchored fragment and at least one other fragment. A number of the fragments is based on at least a length limitation of the regular pathway expression. The method includes generating an operator directed acyclic graph (DAG) including non-operator nodes, operator nodes, and a root based on at least the anchored fragment. The method includes removing, from the operator DAG, at least one of the non-operator nodes and connecting a first operator node to a second operator node of the operator nodes. The first operator node includes an edge into the at least one removed non-operator node, and the second operator node includes an edge from the at least one removed node. The method includes executing the operator DAG on a graph database to return a pathway set comprising at least one pathway that satisfies the regular pathway expression.
36 Citations
17 Claims
-
1. A system comprising:
-
a graph database representative of a network inventory; a processor communicatively coupled to the graph database; a user input communicatively coupled to the processor; memory storing instructions that cause the processor to effectuate operations, the operations comprising; receiving, via the user input, a database query comprising a regular pathway expression; parsing the regular pathway expression into fragments, the fragments comprising an anchored fragment and at least one other fragment, a number of the fragments based on at least a length limitation of the regular pathway expression; generating an operator directed acyclic graph (DAG) based on at least the fragments, the operator DAG comprising non-operator nodes, operator nodes, and a root, wherein the root is based on at least the anchored fragment; removing, from the operator DAG, at least one of the non-operator nodes; connecting, within the operator DAG, a first operator node of the operator nodes to a second operator node of the operator nodes, wherein the first operator node comprises a first edge into the removed at least one non-operator node and wherein the second operator node comprises a second edge from the removed at least one non-operator node; and executing the operator DAG on the graph database to return a pathway set comprising at least one pathway that satisfies the regular pathway expression. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
parsing a regular pathway expression into a plurality of fragments comprising an anchored fragment and at least one other fragment, a number of the fragments based on at least a length limitation of the regular pathway expression; for each of the plurality of fragments, applying a respective transformation to generate a respective sub-director acyclic graph (sub-DAG), generating an operator directed acyclic graph (DAG) based on at least the respective sub-DAGs, the operator DAG comprising a non-operator node, an operator node, and a root, wherein the root is based on at least the anchored fragment, wherein generating the DAG based on at least the respective sub-DAGS comprises; generating the operator DAG comprising at least a first placeholder associated with the anchored fragment and at least a second placeholder associated with the at least one other fragment, connecting the first placeholder to the second placeholder with at least one non-operator node; and replacing the first placeholder and the second placeholder with the respective sub-DAGs; removing, from the operator DAG, the non-operator node; and executing the operator DAG on a graph database to return a pathway set comprising at least one pathway that satisfies the regular pathway expression. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
parsing a regular pathway expression into fragments, the fragments comprising an anchored fragment and at least one other fragment, a number of the fragments based on at least a length limitation of the regular pathway expression; recursively applying one or more transformations to the fragments to generate an operator directed acyclic graph (DAG), the operator DAG comprising at least one non-operator node and at least one operator node; eliminating an extraneous node of the at least one non-operator node from the operator DAG; connecting, within the operator DAG, a first operator node of the at least one operator node to a second operator node of the at least one operator node, wherein the first operator node comprises a first edge into the extraneous node and wherein the second operator node comprises a second edge from the extraneous node; and executing the operator DAG on a graph database to return a pathway set comprising at least one pathway that satisfies the regular pathway expression. - View Dependent Claims (16, 17)
-
Specification