Package org.eclipse.rdf4j.query.algebra

## Class Difference

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
  - - org.eclipse.rdf4j.query.algebra.BinaryTupleOperator
    - - org.eclipse.rdf4j.query.algebra.Difference

- All Implemented Interfaces:
    `Serializable`, `Cloneable`, `GraphPatternGroupable`, `QueryModelNode`, `TupleExpr`, `VariableScopeChange`

      public class Difference
      extends BinaryTupleOperator

  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.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.query.algebra.BinaryTupleOperator

      `leftArg, rightArg`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Difference()` |
    `Difference​(TupleExpr leftArg, TupleExpr rightArg)` | Creates a new minus operator that operates on the two specified arguments.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Difference` | `clone()` | Returns a (deep) clone of this query model node.
    `boolean` | `equals​(Object other)` | Returns true if this query model node and its children are recursively equal to o and its children.
    `Set<String>` | `getAssuredBindingNames()` | Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.
    `Set<String>` | `getBindingNames()` | Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.
    `int` | `hashCode()` |
    `<X extends Exception> void` | `visit​(QueryModelVisitor<X> visitor)` | Visits this node.

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

      `getAlgorithmName, getLeftArg, getRightArg, replaceChildNode, setAlgorithm, setLeftArg, setRightArg, visitChildren`

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

      `getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, toString`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode

      `getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString`

- - ### Constructor Detail

    - #### Difference

          public Difference()

    - #### Difference

          public Difference​(TupleExpr leftArg,
                            TupleExpr rightArg)

      Creates a new minus operator that operates on the two specified arguments.
      Parameters:
        `leftArg` - The left argument of the minus operator.
        `rightArg` - The right argument of the minus operator.

  - ### Method Detail

    - #### getBindingNames

          public Set<String> getBindingNames()

      Description copied from interface: `TupleExpr`
      Gets the names of the bindings that are, or can be, returned by this tuple expression when it is evaluated.
      Returns:
        A set of binding names.

    - #### getAssuredBindingNames

          public Set<String> getAssuredBindingNames()

      Description copied from interface: `TupleExpr`
      Gets the names of the bindings that are guaranteed to be present in the results produced by this tuple expression.
      Returns:
        A set of binding names.

    - #### visit

          public <X extends Exception> void visit​(QueryModelVisitor<X> visitor)
                                           throws X extends Exception

      Description copied from interface: `QueryModelNode`
      Visits this node. The node reports itself to the visitor with the proper runtime type.
      Throws:
        `X extends Exception`

    - #### equals

          public boolean equals​(Object other)

      Description copied from interface: `QueryModelNode`
      Returns true if this query model node and its children are recursively equal to o and its children.
      Specified by:
        `equals` in interface `QueryModelNode`
      Overrides:
        `equals` in class `BinaryTupleOperator`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `BinaryTupleOperator`

    - #### clone

          public Difference clone()

      Description copied from interface: `QueryModelNode`
      Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.
      Specified by:
        `clone` in interface `QueryModelNode`
      Specified by:
        `clone` in interface `TupleExpr`
      Overrides:
        `clone` in class `BinaryTupleOperator`
      Returns:
        A deep clone of this query model node.