diff --git a/sparqlify-core/src/main/java/org/aksw/sparqlify/database/FilterPlacementOptimizer2.java b/sparqlify-core/src/main/java/org/aksw/sparqlify/database/FilterPlacementOptimizer2.java index 32cfaebe..db2dd2ae 100644 --- a/sparqlify-core/src/main/java/org/aksw/sparqlify/database/FilterPlacementOptimizer2.java +++ b/sparqlify-core/src/main/java/org/aksw/sparqlify/database/FilterPlacementOptimizer2.java @@ -112,7 +112,23 @@ public static Op _optimize(OpTopN op, RestrictionManagerImpl cnf) { } + public static Op _optimize(OpJoin op, RestrictionManagerImpl cnf) { + Factory2 factory = new Factory2() { + @Override + public Op create(Op a, Op b) { + Op result = OpJoin.create(a, b); + return result; + } + + }; + + Op result = handleLeftJoin(op.getLeft(), op.getRight(), cnf, factory); + return result; + + } + + public static Op _optimizeBreaking(OpJoin op, RestrictionManagerImpl cnf) { RestrictionManagerImpl leftCnf = filterByVars(cnf, op.getLeft()); RestrictionManagerImpl rightCnf = filterByVars(cnf, op.getRight());