Sideways Information Passing for Complex SPARQL Query Evaluation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
Figure 1
Figure 2
Figure 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.