# Package org.eclipse.rdf4j.query.algebra

Abstract Query Algebra model. The root of the query algebra hierarchy is `QueryModelNode`.

- Interface Summary
  Interface | Description
  --- | ---
  AggregateOperator | An operator that returns aggregates values.
  GraphPatternGroupable | Deprecated. since 3.2.
  QueryModelNode | Main interface for all query model nodes.
  QueryModelVisitor<X extends Exception> | An interface for query model visitors, implementing the Visitor pattern.
  TupleExpr | An expression that evaluates to RDF tuples.
  UpdateExpr | An expression that executes an update.
  ValueExpr | An expressions that evaluates to Value objects.
  VariableScopeChange | `QueryModelNode`s that can constitute a variable scope change (such as group graph patterns, subselects, etc).

- Class Summary
  Class | Description
  --- | ---
  AbstractAggregateOperator | Base class for shared functionality of aggregate operators (e.g.
  AbstractQueryModelNode | Base implementation of `QueryModelNode`.
  Add |
  AggregateOperatorBase | Deprecated. since 2.0.
  And | A boolean AND operator operating on two boolean expressions.
  ArbitraryLengthPath | A tuple expression that matches a path of arbitrary length against an RDF graph.
  Avg | The AVG operator as defined in http://www.w3.org/TR/sparql11-query/#aggregates.
  BinaryTupleOperator | An abstract superclass for binary tuple operators which, by definition, has two arguments.
  BinaryValueOperator | An abstract superclass for binary value operators which, by definition, has two arguments.
  BindingSetAssignment |
  BNodeGenerator | A BNode generator, which generates a new BNode each time it needs to supply a value.
  Bound | The BOUND function, as defined in SPARQL Query Language for RDF; checks if a variable is bound.
  Clear |
  Coalesce |
  Compare | A comparison between two values.
  CompareAll |
  CompareAny |
  CompareSubQueryValueOperator |
  Copy |
  Count |
  Create |
  Datatype | The DATATYPE function, as defined in SPARQL Query Language for RDF.
  DeleteData |
  DescribeOperator |
  Difference | The MINUS set operator, which returns the result of the left tuple expression, except for the results that are also returned by the right tuple expression.
  Distinct |
  EmptySet | A tuple expression that contains zero solutions.
  Exists | Checks whether the wrapped Query produces any results.
  Extension | An extension operator that can be used to add bindings to solutions whose values are defined by `value expressions`.
  ExtensionElem |
  Filter | The FILTER operator, as defined in SPARQL Query Language for RDF.
  FunctionCall | A call to an (external) function that operates on zero or more arguments.
  Group | A tuple operator that groups tuples that have a specific set of equivalent variable bindings, and that can apply aggregate functions on the grouped results.
  GroupConcat | The GROUP_CONCAT operator as defined in http://www.w3.org/TR/sparql11-query/#aggregates
  GroupElem | A tuple operator that groups tuples that have a specific set of equivalent variable bindings, and that can apply aggregate functions on the grouped results.
  If | The IF function, as defined in SPARQL 1.1 Query.
  In | Checks whether a certain value is contained in a set of results produced by a query.
  InsertData |
  Intersection | The INTERSECT set operator, which returns the intersection of the result sets of two tuple expressions.
  IRIFunction | The IRI function, as defined in SPARQL 1.1 Query Language for RDF.
  IsBNode |
  IsLiteral |
  IsNumeric | IsNumeric - Boolean operator determining if the supplied expression represents a numeric value.
  IsResource |
  IsURI |
  Join | A natural join between two tuple expressions.
  Label | The LABEL function, which selects the label of literals.
  Lang | The LANG function, as defined in SPARQL Query Language for RDF.
  LangMatches | Checks whether a language tag (e.g.
  LeftJoin | The LeftJoin operator, as defined in SPARQL Query Language for RDF.
  Like | Compares the string representation of a value expression to a pattern.
  ListMemberOperator | ValueOperator that verifies if the first of its arguments occurs in any of the subsequent arguments.
  Load |
  LocalName | The LOCAL NAME function, which selects the local name of URIs.
  MathExpr | A mathematical expression consisting an operator and two arguments.
  Max |
  Min |
  Modify |
  Move |
  MultiProjection | A "multi-projection" that can produce multiple solutions from a single set of bindings.
  Namespace | The NAMESPACE function, which selects the namespace of URIs.
  NAryValueOperator | An abstract superclass for N-ary value operators.
  Not | A boolean NOT operator operating on a boolean expressions.
  Or | A boolean OR operator operating on two boolean expressions.
  Order | An order operator that can be used to order bindings as specified by a set of value expressions.
  OrderElem |
  Projection | A generalized projection (allowing the bindings to be renamed) on a tuple expression.
  ProjectionElem |
  ProjectionElemList |
  QueryModelNodeBase | Deprecated. since 2.0.
  QueryRoot | A semantics-less query model node that is used as the root of query model trees.
  Reduced |
  Regex | Compares the string representation of a value expression to a pattern.
  SameTerm | Checks RDF term equality.
  Sample | The SAMPLE operator as defined in http://www.w3.org/TR/sparql11-query/#aggregates
  Service | The SERVICE keyword as defined in SERVICE definition.
  SingletonSet | A tuple expression that contains exactly one solution with zero bindings.
  Slice | The SLICE operator, as defined in SPARQL Query Language for RDF.
  StatementPattern | A tuple expression that matches a statement pattern against an RDF graph.
  Str | The STR function, as defined in SPARQL Query Language for RDF; returns the label of literals or the string representation of URIs.
  SubQueryValueOperator |
  Sum | The SUM operator as defined in http://www.w3.org/TR/sparql11-query/#aggregates
  TripleRef | Triple lookup reference.
  TupleFunctionCall | A call to a TupleFunction.
  UnaryTupleOperator | An abstract superclass for unary tuple operators which, by definition, has one argument.
  UnaryValueOperator | An abstract superclass for unary value operators which, by definition, has one argument.
  Union | The UNION set operator, which return the union of the result sets of two tuple expressions.
  ValueConstant | A ValueExpr with a constant value.
  ValueExprTripleRef |
  Var | A variable that can contain a Value.
  ZeroLengthPath | A tuple expression that matches a path of length zero against an RDF graph.

- Enum Summary
  Enum | Description
  --- | ---
  Compare.CompareOp |
  MathExpr.MathOp |
  StatementPattern.Scope | Indicates the scope of the statement pattern.