Graph Database Query Pagination via Segmented Traversal
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graph databases face challenges in efficiently retrieving large amounts of interconnected data, leading to long response times and overwhelming system resources due to the volume of retrieved data, especially when handling queries that require traversing extensive graph structures.
Innovation Solution
The approach involves chunking larger graph traversals into smaller sub-traversals by identifying presorted start vertices, sorting them, and splitting them into manageable chunks or pages, allowing for paginated results to be returned efficiently, with the ability for clients to configure page sizes and request additional pages as needed, and utilizing multithreading for faster query processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If graph database queries retrieve all interconnected data, then completeness of information is improved, but response time deteriorates
Solution Approach 1:
The patent divides the complete query result set into multiple pages or subsets, where each page contains a manageable portion of the total data. This segmentation allows the system to return partial results quickly while maintaining the option to retrieve additional pages, thus reducing response time for initial queries while preserving access to complete information.
Solution Approach 2:
The patent implements partial action by returning only a portion of the complete query results (e.g., first page with limited number of vertices) instead of all results. This partial delivery significantly reduces response time while still providing useful information to the client, who can then request additional pages if needed.
2Loss of information
If graph database queries retrieve all interconnected data, then completeness of information is improved, but system resource usage deteriorates
Solution Approach 1:
By segmenting the data retrieval into multiple pages, the system processes and transmits only a fraction of the total data in each query cycle. This reduces memory allocation, network bandwidth consumption, and processing overhead for each individual query, thereby lowering system resource usage while maintaining access to complete data through multiple requests.
Solution Approach 2:
The system performs partial data retrieval by returning only the necessary subset of results (first page) rather than all interconnected data. This partial action conserves system resources including CPU cycles, memory, and network resources, while still fulfilling the client's immediate information needs.
3Loss of information
If graph database queries process extensive graph structures, then completeness of results is improved, but query processing time deteriorates
Solution Approach 1:
The patent segments the graph traversal process into multiple discrete steps, where each step processes a specific page of results. This allows the query processing to be divided into manageable chunks, reducing the time required for each individual processing step while maintaining the ability to generate complete results through cumulative processing of all pages.
Data Source
AI summary
A processing system of including at least one processor may obtain a query to retrieve a set of information from a graph database, the query providing a criterion for identifying graph database vertices that are relevant to the query, identify the graph database vertices that are relevant to the query in accordance with the criterion, obtain vertex identifiers of the relevant vertices, sort the vertex identifiers into a list in a sequential order, identify a first subset of the vertex identifiers in the list that corresponds to a first result index and a result size, access a first subset of the vertices that is identified as being relevant to the query and that is identified by the first subset of the vertex identifiers, retrieve a first subset of the set of information from the first subset of the vertices, and provide the first subset in a first results page.


