Graph Database Pathway Query Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional graph query languages are inadequate for querying complex and dynamic software-defined networks (SDNs), as they fail to effectively query pathways of varying lengths, treat pathways as first-class citizens, and support temporal modeling, leading to challenges in inventory management and troubleshooting.
Innovation Solution
A system and method that utilize a graph database with a processor to parse regular pathway expressions into fragments, generate an operator directed acyclic graph (DAG), and execute it to return pathways satisfying the query, enabling the manipulation and temporal analysis of network pathways.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If traditional graph query languages (Gremlin, SPARQL) are used to query pathways, then the query syntax is simple, but the ability to return pathways of varying length is lost
Solution Approach 1:
The query language is segmented into distinct components: pathway expressions define the structure and allowed length ranges of pathways, while constraints provide additional filtering criteria. This segmentation allows the system to return pathways of varying lengths by combining structural definitions with flexible constraints.
Solution Approach 2:
The pathway expression system is designed to be dynamic, allowing users to specify minimum and maximum length parameters that can vary per query. The system adapts to different pathway lengths by evaluating expressions against the actual pathway structures in the graph database, rather than being fixed to a single length.
2Adaptability or versatility
If Cypher is used to support pathways of varying length, then pathway length flexibility is improved, but the ability to add constraints on extracted pathways is lost
Solution Approach 1:
The system merges the pathway expression capability with constraint expression into a unified query language. Pathway expressions define the structural patterns and length ranges, while constraints add additional filtering criteria. Both components work together in the same query statement, allowing users to express complex pathway searches with both length flexibility and constraint precision.
3Ease of manufacture
If preexisting query languages output graphs or tuples, then the output format is standardized, but the ability to apply additional queries on results is lost
Solution Approach 1:
The query language is designed to be universal, treating pathways as first-class citizens that can be both queried and returned as queryable results. The same pathway expression syntax used in the FROM clause can be applied in WHERE clauses and nested queries, allowing results to be re-queried and composed into more complex queries without changing the fundamental data model or syntax.
4Ease of manufacture
If traditional query languages are used for network inventory management, then the implementation is straightforward, but temporal modeling and time-travel queries are not supported
Solution Approach 1:
The system adds a temporal dimension to the graph database model by incorporating time stamps and versioning into the data structure. This allows the same query language to operate on both current and historical states of the network inventory. The pathway expressions can reference temporal attributes, enabling time-travel queries without fundamentally changing the query syntax or implementation approach.
Data Source
AI summary
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.


