Graph Database Query Transformation for Missing Values
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Applications face difficulties in efficiently storing and retrieving data from relational databases and key-value stores due to the lack of knowledge about the underlying relational model, leading to suboptimal query performance and degraded user experience.
Innovation Solution
Implementing a graph database that stores data as a graph with nodes, edges, and predicates, allowing for efficient data retrieval and query processing without requiring knowledge of a relational model, and incorporating functionality to transform and evaluate missing values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a relational database is used to store data with complex relationships, then data can be organized into tables with rows and columns, but extracting complicated relationships requires multiple queries and joins which degrades performance
Solution Approach 1:
The patent creates a graph database that is a conceptual copy of the relational data model but optimized for relationship queries. Instead of copying data multiple times across tables and joining them, the graph database stores relationships directly as edges between nodes, providing a copy of the data in a format that is inherently optimized for traversing complex relationships without requiring multiple SQL joins
Solution Approach 2:
The patent transitions from the two-dimensional table structure of relational databases to a multi-dimensional graph structure where nodes and edges can represent complex relationships in multiple dimensions simultaneously. This allows relationships to be represented not just as row-column intersections but as connected components that can be traversed in various directions and depths, enabling efficient extraction of complicated relationships
2Ease of operation
If an object-relational mapper is used to help applications understand the relational model, then applications can access data more naturally, but it is difficult to generate and maintain the mapper especially for large real-time applications
Solution Approach 1:
The graph database provides self-service capabilities where the data model itself is optimized for the application's needs rather than requiring an intermediate mapper layer. The graph structure naturally represents hierarchical and relational data in a way that applications can access directly, eliminating the need for complex object-relational mapping logic that would otherwise need to be generated and maintained
3Ease of operation
If a key-value store is used to allow applications to access data as objects in memory, then applications can work with data in a familiar manner, but the absence of a relational model makes it difficult to optimize and extract complicated relationships
Solution Approach 1:
The patent merges the simplicity of key-value access with the power of relational modeling by combining node-based storage with edge-based relationships. Applications can access individual nodes using key-like identifiers while simultaneously traversing relationships through edges, effectively merging the benefits of key-value stores and relational databases into a unified graph database model
Data Source
AI summary
The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes one or more processes for providing the 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 receives a query containing a missing value parameter, wherein the missing value parameter designates an attribute in the graph database with a nonexistent value. The system then produces, from the query, a transformed query comprising one or more parameters that do not include the missing value parameter. Finally, the system uses the transformed query and the graph database to generate a result of the query and provides the result in a response to the query.


