public class ASTSimpleOptionalOptimizer extends Object implements IASTOptimizer
Note: When the filter is lifted, it must be attached to the statement pattern node such that toPredicate() puts them onto the predicate since they must run *with* the join for that predicate. (The problem is that ?x != Bar is filtering the optional join, not ?x).
where { ?x type Foo . // adds binding for ?x optional { ?x p ?y . // adds bindings for ?y if ?x != Bar filter (?x != Bar) . } }
Constructor and Description |
---|
ASTSimpleOptionalOptimizer() |
Modifier and Type | Method and Description |
---|---|
QueryNodeWithBindingSet |
optimize(AST2BOpContext context,
QueryNodeWithBindingSet input)
Optimize the AST.
|
public QueryNodeWithBindingSet optimize(AST2BOpContext context, QueryNodeWithBindingSet input)
IASTOptimizer
optimize
in interface IASTOptimizer
context
- The evaluation context.input
- The input to the optimizer, consisting of a queryNode and
input binding set.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.