Hierarchical Search on Conditional Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hierarchical searches in directed acyclic graphs (DAGs) stored in relational databases face performance degradation due to increased number of queries and data exchanges, leading to memory and calculation time constraints, especially as graph depth and data volume grow.

Innovation Solution

The method separates criteria into blocking and non-blocking sets, performing two queries on a transformed indexed tree to reduce the workload on the software package by offloading processing operations to the DBMS, thereby reducing data exchanges and improving calculation times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If recursive queries are used to search for all descendants of a node in a CDAG, then complete search coverage is achieved, but the number of queries increases considerably with graph depth and data volume

Engineering Contradiction:
Improvesearch completenessVSAvoidquery execution speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the search criteria into two distinct sets: blocking criteria (Cb) and non-blocking criteria (Cnb). This segmentation allows the search to be performed in two separate phases: first filtering nodes against blocking criteria to identify candidate nodes, then filtering those candidates against non-blocking criteria. This divides the originally single recursive query process into two targeted queries, reducing the total number of queries needed while maintaining complete search coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary filtering by applying blocking criteria first to narrow down the candidate node set before applying non-blocking criteria. This preliminary action reduces the search space early in the process, preventing unnecessary traversal of nodes that would fail blocking criteria, thereby reducing the overall number of queries and improving execution speed without compromising search completeness.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If iterative or recursive interrogations are performed to search through CDAG descendants, then thorough search results are obtained, but calculation time increases with graph depth

Engineering Contradiction:
Improvesearch thoroughnessVSAvoidcalculation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The search process is segmented into two distinct filtering stages corresponding to blocking and non-blocking criteria. Each stage is implemented as a separate query operation, allowing the system to process and filter nodes in batches rather than through deep recursive iterations. This segmentation reduces calculation time by avoiding repeated recursive function calls while maintaining thorough search coverage through the two-pass filtering approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Blocking criteria are evaluated in a preliminary fashion before non-blocking criteria, creating a two-stage filtering pipeline. This preliminary evaluation of blocking criteria eliminates nodes that cannot possibly satisfy the complete set of criteria, reducing the workload for subsequent non-blocking criterion evaluation and thereby reducing overall calculation time while preserving search thoroughness.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple data exchanges occur between software package and DBMS during hierarchical search, then flexible processing is achieved, but memory capacity and network load constraints increase

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidmemory capacity requirement
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The data exchange process is segmented into two distinct query operations: one for blocking criteria and one for non-blocking criteria. Each query returns a filtered subset of results, reducing the amount of data that needs to be held in memory at any given time. This segmentation allows the software package to process smaller result sets sequentially rather than managing large intermediate results, thereby reducing memory capacity requirements while maintaining processing flexibility through the two-stage approach.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7814087B2Method of hierarchical searching on a conditional graph
Publication Date: 2010.10.12 LASCOM LTD
  • US7814087B2 patent drawing
  • US7814087B2 patent drawing
  • US7814087B2 patent drawing

AI summary

The invention relates to a fast method of hierarchical searching for data satisfying at least one set of predetermined criteria C, in a directed acyclic graph which is stored in a relational database management system able to be interrogated by a query language, the criteria being determined on the nodes and/or the links of the graph. Each criterion is determined blocking (respectively non-blocking) that is to say such that as soon as the criterion is not satisfied, its descendant nodes are excluded, (respectively only this node is excluded, without consequence to its descendant nodes).It comprises the following steps consisting in:separating the set C into a set of blocking criteria Cb and non-blocking criteria Cnb searching by means of the query language for the nodes of the graph satisfying the set of blocking criteria Cb, these nodes being grouped together in a set G,searching by means of the query language, for the nodes of G satisfying the set of non-blocking criteria Cnb.