Package org.eclipse.rdf4j.query.algebra.evaluation.impl

## Class QueryModelNormalizer

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor<RuntimeException>
  - - org.eclipse.rdf4j.query.algebra.evaluation.impl.QueryModelNormalizer

- All Implemented Interfaces:
    `QueryOptimizer`, `QueryModelVisitor<RuntimeException>`

      public class QueryModelNormalizer
      extends AbstractQueryModelVisitor<RuntimeException>
      implements QueryOptimizer

  A query optimizer that (partially) normalizes query models to a canonical form. Note: this implementation does not yet cover all query node types.
  Author:
    Arjohn Kampman

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `QueryModelNormalizer()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `meet​(And and)` |
    `void` | `meet​(Difference difference)` |
    `void` | `meet​(Filter node)` |
    `void` | `meet​(Intersection intersection)` |
    `void` | `meet​(Join join)` |
    `void` | `meet​(LeftJoin leftJoin)` |
    `void` | `meet​(Or or)` |
    `void` | `meet​(Union union)` |
    `protected void` | `meetUnaryTupleOperator​(UnaryTupleOperator node)` | Method called by all meet methods with a `UnaryTupleOperator` node as argument.
    `void` | `optimize​(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)` |

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor

      `meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetNode, meetOther, meetSubQueryValueOperator, meetUnaryValueOperator, meetUpdateExpr`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### QueryModelNormalizer

          public QueryModelNormalizer()

  - ### Method Detail

    - #### optimize

          public void optimize​(TupleExpr tupleExpr,
                               Dataset dataset,
                               BindingSet bindings)

      Specified by:
        `optimize` in interface `QueryOptimizer`

    - #### meet

          public void meet​(Join join)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meet

          public void meet​(LeftJoin leftJoin)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meet

          public void meet​(Union union)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meet

          public void meet​(Difference difference)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meet

          public void meet​(Intersection intersection)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meetUnaryTupleOperator

          protected void meetUnaryTupleOperator​(UnaryTupleOperator node)

      Description copied from class: `AbstractQueryModelVisitor`
      Method called by all meet methods with a `UnaryTupleOperator` node as argument. Forwards the call to `AbstractQueryModelVisitor.meetNode(org.eclipse.rdf4j.query.algebra.QueryModelNode)` by default.
      Overrides:
        `meetUnaryTupleOperator` in class `AbstractQueryModelVisitor<RuntimeException>`
      Parameters:
        `node` - The node that is being visited.

    - #### meet

          public void meet​(Filter node)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meet

          public void meet​(Or or)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`

    - #### meet

          public void meet​(And and)

      Specified by:
        `meet` in interface `QueryModelVisitor<RuntimeException>`
      Overrides:
        `meet` in class `AbstractQueryModelVisitor<RuntimeException>`