Index: src/main/java/org/openrdf/sail/federation/evaluation/FederationStrategy.java =================================================================== --- src/main/java/org/openrdf/sail/federation/evaluation/FederationStrategy.java (revision 9610) +++ src/main/java/org/openrdf/sail/federation/evaluation/FederationStrategy.java (working copy) @@ -35,10 +35,13 @@ public class FederationStrategy extends EvaluationStrategyImpl { private final Executor executor; + + private boolean includeInferred; - public FederationStrategy(Executor executor, TripleSource tripleSource, QueryModel query) { + public FederationStrategy(Executor executor, TripleSource tripleSource, QueryModel query, boolean includeInferred) { super(tripleSource, query); this.executor = executor; + this.includeInferred = includeInferred; } @Override @@ -111,13 +114,13 @@ private Cursor evaluate(OwnedTupleExpr expr, BindingSet bindings) throws StoreException { - Cursor result = expr.evaluate(dataset, bindings); + Cursor result = expr.evaluate(dataset, bindings, includeInferred); if (result != null) { return result; } QueryModel query = createQueryModel(expr); TripleSource source = new RepositoryTripleSource(expr.getOwner()); - EvaluationStrategyImpl eval = new FederationStrategy(executor, source, query); + EvaluationStrategyImpl eval = new FederationStrategy(executor, source, query, includeInferred); return eval.evaluate(query, bindings); } Index: src/main/java/org/openrdf/sail/federation/FederationConnection.java =================================================================== --- src/main/java/org/openrdf/sail/federation/FederationConnection.java (revision 9610) +++ src/main/java/org/openrdf/sail/federation/FederationConnection.java (working copy) @@ -263,7 +263,7 @@ throws StoreException { TripleSource tripleSource = new FederationTripleSource(includeInferred); - EvaluationStrategyImpl strategy = new FederationStrategy(federation.getExecutor(), tripleSource, query); + EvaluationStrategyImpl strategy = new FederationStrategy(federation.getExecutor(), tripleSource, query, includeInferred); query = optimize(query, bindings, strategy); return strategy.evaluate(query, EmptyBindingSet.getInstance()); } Index: src/main/java/org/openrdf/sail/federation/algebra/OwnedTupleExpr.java =================================================================== --- src/main/java/org/openrdf/sail/federation/algebra/OwnedTupleExpr.java (revision 9610) +++ src/main/java/org/openrdf/sail/federation/algebra/OwnedTupleExpr.java (working copy) @@ -74,7 +74,7 @@ } } - public Cursor evaluate(Dataset dataset, BindingSet bindings) + public Cursor evaluate(Dataset dataset, BindingSet bindings, boolean includeInferred) throws StoreException { if (preparedQuery == null) { @@ -91,6 +91,7 @@ } preparedQuery.setDataset(dataset); + preparedQuery.setIncludeInferred(includeInferred); // long startTime = System.nanoTime(); TupleResult result = preparedQuery.evaluate();