Sideways Information Passing for Complex SPARQL Query Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional query evaluation methods for RDF graphs are inefficient when dealing with complex SPARQL queries containing equality predicates, built-ins, and aggregates, as they fail to effectively utilize sideways information passing and do not account for equalities in logical facts, which limits performance and efficiency.

Innovation Solution

Implementing a method to modify intermediate query results by evaluating a query using sideways information passing over a graph that models the data, selectively filtering and accounting for equalities in logical facts stored in the graph to enhance performance and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional query evaluation methods are used for complex SPARQL queries with equality predicates and built-ins, then the system can handle basic queries, but performance and efficiency deteriorate significantly

Engineering Contradiction:
Improvequery evaluation performanceVSAvoidquery complexity handling
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The query evaluation process is segmented into distinct phases: equality handling phase, built-in function evaluation phase, and aggregate function evaluation phase. Each phase processes specific components of the query independently, allowing complex queries to be broken down into manageable steps that improve overall performance while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Equality predicates are processed preliminarily before built-in functions and aggregate functions. By handling equality constraints first and replacing equivalent resources with representatives, the system prepares the query in advance, reducing the complexity of subsequent evaluation steps and improving overall efficiency.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If sideways information passing is used to filter unneeded data early, then query execution time improves, but memory usage increases due to intermediate results

Engineering Contradiction:
Improvequery execution timeVSAvoidmemory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system applies selective filtering based on the local quality of intermediate results. By determining which intermediate results are actually needed for subsequent equality handling, built-in function evaluation, and aggregate function evaluation, the system filters out unnecessary data at each stage, reducing memory usage while maintaining the benefits of early filtering through sideways information passing.

Inventive Principle:
Principle #3Local quality

3Productivity

If equal resources are replaced with representatives to reduce substitutions, then query evaluation efficiency improves, but correctness deteriorates when built-ins and aggregates are involved

Engineering Contradiction:
Improvequery evaluation efficiencyVSAvoidquery result correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system introduces intermediary representations that track both the representative form and the original equal resources. During equality handling, built-in functions, and aggregate function evaluation, these intermediaries ensure that the replacement of equal resources with representatives maintains correctness by preserving the semantic relationships and equality constraints throughout the evaluation process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4204984B1Complex query evaluation using sideways information passing
Publication Date: 2025.12.24 SAMSUNG ELECTRONICS CO LTD
  • EP4204984B1 patent drawingFigure 1
  • EP4204984B1 patent drawingFigure 2
  • EP4204984B1 patent drawingFigure 3

AI summary

A program stored on non-transitory computer-readable storage medium executes a method of evaluating a graph over a query. Decomposition instructions decompose the query into a plurality of subqueries. Evaluation instructions evaluate a subquery of the plurality of subqueries and generate a substitution multiset representing a result of the evaluation of the 5 subquery. Filtration instructions or expansion instructions may operate upon the generated substitution set before passing the substitution set to a next subquery to be evaluated. The filtration instructions identify one or more mappings in the substitution multiset that cannot be safely passed to the second subquery and delete the identified one or more mappings from the substitution multiset. The expansion instructions determine, in a case where the subquery is operated upon by a non-distributive query operator, an expansion of the substitution multiset based at least on adding one or more new substitutions to the substitution multiset.