## Uses of Class
org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor

- Packages that use AbstractQueryModelVisitor
  Package | Description
  --- | ---
  org.eclipse.rdf4j.federated.optimizer |
  org.eclipse.rdf4j.query.algebra.evaluation.impl |
  org.eclipse.rdf4j.query.algebra.helpers |
  org.eclipse.rdf4j.query.parser.sparql | The rdf4j SPARQL 1.1 parser.
  org.eclipse.rdf4j.queryrender | This package contains classes for working with RDF4J query objects.
  org.eclipse.rdf4j.queryrender.sparql |
  org.eclipse.rdf4j.queryrender.sparql.experimental | This package contains classes for rendering RDF4J query objects as SPARQL queries.
  org.eclipse.rdf4j.sail.federation.optimizers |

- - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.federated.optimizer

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.federated.optimizer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ExclusiveTupleExprOptimizer` | A specialized optimizer which identifies and marks `ExclusiveTupleExpr`.
    `class` | `FilterOptimizer` | Filter optimizer to push down FILTER expressions as far as possible.
    `protected static class` | `FilterOptimizer.FilterBindingFinder` |
    `protected static class` | `FilterOptimizer.FilterExprInsertVisitor` |
    `protected static class` | `FilterOptimizer.VarFinder` |
    `class` | `GenericInfoOptimizer` | Generic optimizer Tasks: - Collect information (hasUnion, hasFilter, hasService) - Collect all statements in a list (for source selection), do not collect SERVICE expressions - Collect all Join arguments and group them in the NJoin structure for easier optimization (flatten)
    `class` | `LimitOptimizer` | An optimizer that attempts to push upper limits into BGPs of the query.
    `class` | `ServiceOptimizer` | Optimizer for SERVICE nodes.
    `class` | `StatementGroupAndJoinOptimizer` | Optimizer with the following tasks: 1.
    `class` | `UnionOptimizer` | Optimizer to flatten the UNION operations.

  - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.query.algebra.evaluation.impl

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.query.algebra.evaluation.impl
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `BindingAssigner.VarVisitor` |
    `protected static class` | `CompareOptimizer.CompareVisitor` |
    `protected static class` | `ConjunctiveConstraintSplitter.ConstraintVisitor` |
    `protected class` | `ConstantOptimizer.ConstantVisitor` |
    `protected class` | `ConstantOptimizer.VarNameCollector` |
    `protected static class` | `DisjunctiveConstraintOptimizer.OrSameTermOptimizer` |
    `protected static class` | `EvaluationStatistics.CardinalityCalculator` |
    `protected static class` | `FilterOptimizer.DeMergeFilterFinder` |
    `protected static class` | `FilterOptimizer.FilterFinder` |
    `protected static class` | `FilterOptimizer.FilterRelocator` |
    `protected static class` | `FilterOptimizer.MergeFilterFinder` |
    `protected static class` | `IterativeEvaluationOptimizer.IEOVisitor` |
    `protected static class` | `OrderLimitOptimizer.OrderOptimizer` |
    `protected class` | `QueryJoinOptimizer.JoinVisitor` | Deprecated. This class is protected for historic reasons only, and will be made private in a future major release.
    `class` | `QueryModelNormalizer` | A query optimizer that (partially) normalizes query models to a canonical form.
    `protected static class` | `QueryModelPruner.TreeSanitizer` | Deprecated.
    `protected class` | `RegexAsStringFunctionOptimizer.RegexAsStringFunctionVisitor` |
    `protected static class` | `SameTermFilterOptimizer.BindingSetAssignmentCollector` |
    `protected static class` | `SameTermFilterOptimizer.SameTermFilterVisitor` |
    `protected static class` | `SameTermFilterOptimizer.VarBinder` |
    `protected static class` | `SameTermFilterOptimizer.VarRenamer` |
    `protected static class` | `TupleFunctionEvaluationStatistics.TupleFunctionCardinalityCalculator` |

  - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.query.algebra.helpers

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.query.algebra.helpers
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BGPCollector<X extends Exception>` | Basic graph pattern collector.
    `class` | `QueryModelNodeReplacer` | Deprecated.
    `class` | `QueryModelTreePrinter` | QueryModelVisitor implementation that "prints" a tree representation of a query model.
    `class` | `QueryModelTreeToGenericPlanNode` | Convert TupleExpr (QueryModelNode) to GenericPlanNode for the Query.explain(...) feature.
    `class` | `QueryModelVisitorBase<X extends Exception>` | Deprecated. since 2.0.
    `class` | `StatementPatternCollector` | A QueryModelVisitor that collects StatementPattern's from a query model.
    `class` | `VarNameCollector` | A QueryModelVisitor that collects the names of (non-constant) variables that are used in a query model.

  - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.query.parser.sparql

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.query.parser.sparql
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `TripleRefCollector` |
    `protected class` | `TupleExprBuilder.SameTermCollector` |
    `protected class` | `TupleExprBuilder.VarCollector` |

  - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.queryrender

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.queryrender
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BaseTupleExprRenderer` | Base class for rendering RDF4J query API objects into strings.

  - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.queryrender.sparql

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.queryrender.sparql
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ContextCollector` | Visitor implementation for the query algebra which walks the tree and figures out the context for nodes in the algebra.
    `class` | `SparqlTupleExprRenderer` | Extends the BaseTupleExprRenderer to provide support for rendering tuple expressions as SPARQL queries.

  - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.queryrender.sparql.experimental

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.queryrender.sparql.experimental
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `SparqlQueryRenderer` | An alternative implementation of the SPARQL query renderer (more complete than the default `SPARQLQueryRenderer`)

  - ### Uses of AbstractQueryModelVisitor in org.eclipse.rdf4j.sail.federation.optimizers

    Subclasses of AbstractQueryModelVisitor in org.eclipse.rdf4j.sail.federation.optimizers
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `EmptyPatternOptimizer` | Remove StatementPatterns that have no statements.
    `protected static class` | `EvaluationStatistics.CardinalityCalculator` |
    `class` | `FederationJoinOptimizer` | Deprecated. since 3.1.0.
    `class` | `OwnedTupleExprPruner` | Remove redundant `OwnedTupleExpr`.
    `class` | `PrepareOwnedTupleExpr` | Remove redundant `OwnedTupleExpr`.
    `protected class` | `QueryModelPruner.TreeSanitizer` |
    `protected class` | `QueryMultiJoinOptimizer.JoinVisitor` |