Class FilterOptimizer

  • All Implemented Interfaces:
    QueryOptimizer

    @Deprecated(forRemoval=true,
                since="4.1.0")
    public class FilterOptimizer
    extends FilterOptimizer
    implements QueryOptimizer
    Deprecated, for removal: This API element is subject to removal in a future version.
    since 4.1.0. Use FilterOptimizer instead.
    Optimizes a query model by pushing Filters as far down in the model tree as possible.

    To make the first optimization succeed more often it splits filters which contains And conditions. SELECT * WHERE { ?s ?p ?o . ?s ?p ?o2 . FILTER(?o > '2'^^xsd:int && ?o2 < '4'^^xsd:int) } May be more efficient when decomposed into SELECT * WHERE { ?s ?p ?o . FILTER(?o > '2'^^xsd:int) ?s ?p ?o2 . FILTER(?o2 < '4'^^xsd:int) }

    Then it optimizes a query model by merging adjacent Filters. e.g. SELECT * WHERE { ?s ?p ?o . FILTER(?o > 2) . FILTER(?o < 4) . } may be merged into SELECT * WHERE { ?s ?p ?o . FILTER(?o > 2 && ?o < 4) . }

    This optimization allows for sharing evaluation costs in the future and removes an iterator. This is done as a second step to not break the first optimization. In the case that the splitting was done but did not help it is now undone.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  FilterOptimizer.DeMergeFilterFinder
      Deprecated, for removal: This API element is subject to removal in a future version.
      protected static class  FilterOptimizer.FilterFinder
      Deprecated, for removal: This API element is subject to removal in a future version.
      protected static class  FilterOptimizer.FilterRelocator
      Deprecated, for removal: This API element is subject to removal in a future version.
      protected static class  FilterOptimizer.MergeFilterFinder
      Deprecated, for removal: This API element is subject to removal in a future version.
    • Constructor Summary

      Constructors 
      Constructor Description
      FilterOptimizer()
      Deprecated, for removal: This API element is subject to removal in a future version.
       
    • Method Summary

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FilterOptimizer

        public FilterOptimizer()
        Deprecated, for removal: This API element is subject to removal in a future version.