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 and Description
    `QueryModelNormalizer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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>`

Copyright © 2015-2021 Eclipse Foundation. All Rights Reserved.