Graph Database Query Verification and Index-Free Adjacency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Applications face performance degradation and user experience issues when querying databases, particularly in relational and key-value stores, due to the lack of knowledge about the underlying relational model, leading to suboptimal query execution and increased computation time.

Innovation Solution

The implementation of a graph database system that translates queries into edge queries, represents compound relationships using hub nodes, and allows for efficient data retrieval by navigating index-free adjacency, reducing the need for multiple queries and intermediate result storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a relational database is used with piecemeal queries, then data can be stored and retrieved, but query performance degrades and computation time increases

Engineering Contradiction:
Improvequery performanceVSAvoidcomputation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the graph into nodes and edges with index-free adjacency, allowing direct navigation between related entities without requiring complex joins. This segmentation enables the system to break down complicated relationships into manageable graph traversals that can be executed efficiently through iterative deepening search algorithms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing and storing graph structures with index-free adjacency during data ingestion. This allows the database to be optimized for query execution without requiring applications to know the underlying relational model, thereby improving query performance while reducing computation time during actual data retrieval operations.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If an object-relational mapper is used, then applications can access data efficiently, but generating and maintaining the mapper becomes difficult

Engineering Contradiction:
Improvedata accessVSAvoidmapper generation and maintenance
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service by allowing the graph database to automatically translate application queries into graph traversals without requiring manual creation or maintenance of object-relational mappers. The database system handles the complexity of query translation and graph navigation internally, while applications simply interact with the graph structure in their natural manner.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses the graph database as an intermediary layer between applications and the underlying storage system. This intermediary automatically handles the translation between application-level queries and optimized graph traversals, eliminating the need for applications to directly manage complex relational models while maintaining efficient data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If a key-value store is used, then applications can access data as objects in memory, but extracting complicated relationships becomes difficult

Engineering Contradiction:
Improveobject accessVSAvoidrelationship extraction
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges the benefits of key-value store simplicity with graph database relationship capabilities by storing graph data in a key-value format while maintaining index-free adjacency structures. This allows applications to access data as objects in memory while the underlying graph structure enables efficient extraction of complicated relationships through direct graph traversals without requiring multiple sequential queries.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9378239B1Verifying graph-based queries
Publication Date: 2016.06.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9378239B1 patent drawing
  • US9378239B1 patent drawing
  • US9378239B1 patent drawing

AI summary

In order to request desired information from a graph database, a system executes a query against the graph database. The graph database may store a graph that includes nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency. Moreover, the query may identify a first edge associated with a predicate that specifies one or more of the nodes in the graph. In response to the query, the system receives a result that includes a subset of the graph. Then, the system may verify the subset of the graph. In particular, the system may verify that the subset of the graph includes one or more particular edges, such as an edge with the predicate in the query. Furthermore, the system may verify that the subset of the graph includes data and/or associated structure in the portion of the graph.