Graph Database Query Concatenation for Complex Relationship Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Applications face difficulties in efficiently extracting complicated relationships from databases like relational databases and key-value stores due to lack of knowledge about the underlying relational model, leading to suboptimal query performance and degraded user experience.

Innovation Solution

The system employs a graph database that translates initial queries into edge queries, representing compound relationships using hub nodes hidden from users, allowing direct extraction of desired information without joining intermediate results, thereby reducing computation time and memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a relational database is used with multiple queries to extract complicated relationships, then data can be organized into tables with rows and columns, but query performance degrades due to the need to perform sets of queries and join results

Engineering Contradiction:
Improvedata organizationVSAvoidquery performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the complicated relationship extraction task into multiple simple key-value queries. Each query retrieves a specific portion of the relationship data independently, and the results are then combined in the application layer. This avoids the performance degradation of traditional SQL joins while maintaining the ability to extract complex relationships.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (the application logic) that sits between the key-value store and the final result. This intermediary performs the combination of multiple simple query results to produce the equivalent of a complex relationship extraction, thereby avoiding the need for optimized join operations in the database layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If an object-relational mapper is used to provide application knowledge about the relational model, then query generation improves, but system complexity increases due to the difficulty of generating and maintaining the mapper

Engineering Contradiction:
Improvequery generationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the complexity of the relational model knowledge from the database layer and relocates it to the application layer. Instead of maintaining an object-relational mapper in the database system, the application directly manages the key-value queries and result combinations, thereby eliminating the need for complex mapper maintenance while preserving query generation capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The application serves itself by directly constructing and executing key-value queries without relying on an external object-relational mapper. The application has direct knowledge of the data structure and can generate appropriate queries autonomously, eliminating the intermediary mapper layer and reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If a key-value store is used to allow applications to access data as objects in memory, then data access consistency improves, but query optimization becomes difficult requiring multiple queries

Engineering Contradiction:
Improvedata access consistencyVSAvoidquery efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the complex relationship extraction into multiple simple key-value queries that can be executed independently and efficiently. Each query targets a specific key or set of keys, allowing the key-value store to optimize each individual query while maintaining overall query efficiency through the combination of results.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9378241B1Concatenated queries based on graph-query results
Publication Date: 2016.06.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9378241B1 patent drawing
  • US9378241B1 patent drawing
  • US9378241B1 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 use the result of the query in a concatenated set of queries. In particular, the system may execute a second query against the subset of the graph. Furthermore, in response to the second query, the system may receive a second result that includes a second subset of the graph.