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

## Class SPARQLMinusIteration<X extends Exception>

- java.lang.Object
- - org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,​X>
  - - org.eclipse.rdf4j.common.iteration.IterationWrapper<E,​X>
    - - org.eclipse.rdf4j.common.iteration.FilterIteration<BindingSet,​X>
      - - org.eclipse.rdf4j.query.algebra.evaluation.iterator.SPARQLMinusIteration<X>

- All Implemented Interfaces:
    `AutoCloseable`, `CloseableIteration<BindingSet,​X>`, `Iteration<BindingSet,​X>`
  Direct Known Subclasses:
    `LimitedSizeSPARQLMinusIteration`

      public class SPARQLMinusIteration<X extends Exception>
      extends FilterIteration<BindingSet,​X>

  An Iteration that returns the results of an Iteration (the left argument) MINUS any results that are compatible with results of another Iteration (the right argument) or that have no shared variables. This iteration uses the formal definition of the SPARQL 1.1 MINUS operator to determine which BindingSets to return.
  Author:
    Jeen
  See Also:
    SPARQL Algebra Documentation

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper

      `wrappedIter`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SPARQLMinusIteration​(Iteration<BindingSet,​X> leftArg, Iteration<BindingSet,​X> rightArg)` | Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument.
    `SPARQLMinusIteration​(Iteration<BindingSet,​X> leftArg, Iteration<BindingSet,​X> rightArg, boolean distinct)` | Deprecated, for removal: This API element is subject to removal in a future version.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected boolean` | `accept​(BindingSet object)` | Tests whether or not the specified object should be returned by this Iteration.
    `protected long` | `clearExcludeSet()` |
    `protected Iteration<BindingSet,​X>` | `getRightArg()` |
    `protected void` | `handleClose()` | Closes this Iteration and also closes the wrapped Iteration if it is a `CloseableIteration`.
    `protected Set<BindingSet>` | `makeSet()` |
    `protected Set<String>` | `makeSet​(Set<String> set)` |
    `protected Set<BindingSet>` | `makeSet​(Iteration<BindingSet,​X> rightArg2)` |

    - ### Methods inherited from class org.eclipse.rdf4j.common.iteration.FilterIteration

      `hasNext, next`

    - ### Methods inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper

      `remove`

    - ### Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration

      `close, isClosed`

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

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

    - ### Methods inherited from interface org.eclipse.rdf4j.common.iteration.Iteration

      `stream`

- - ### Constructor Detail

    - #### SPARQLMinusIteration

          public SPARQLMinusIteration​(Iteration<BindingSet,​X> leftArg,
                                      Iteration<BindingSet,​X> rightArg)

      Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument. By default, duplicates are not filtered from the results.
      Parameters:
        `leftArg` - An Iteration containing the main set of elements.
        `rightArg` - An Iteration containing the set of elements that should be filtered from the main set.

    - #### SPARQLMinusIteration

          @Deprecated(since="4.0.0",
                      forRemoval=true)
          public SPARQLMinusIteration​(Iteration<BindingSet,​X> leftArg,
                                      Iteration<BindingSet,​X> rightArg,
                                      boolean distinct)

      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument.
      Parameters:
        `leftArg` - An Iteration containing the main set of elements.
        `rightArg` - An Iteration containing the set of elements that should be filtered from the main set.
        `distinct` - This argument is ignored

  - ### Method Detail

    - #### accept

          protected boolean accept​(BindingSet object)
                            throws X extends Exception

      Description copied from class: `FilterIteration`
      Tests whether or not the specified object should be returned by this Iteration. All objects from the wrapped Iteration pass through this method in the same order as they are coming from the wrapped Iteration.
      Specified by:
        `accept` in class `FilterIteration<BindingSet,​X extends Exception>`
      Parameters:
        `object` - The object to be tested.
      Returns:
        true if the object should be returned, false otherwise.
      Throws:
        `X`
        `X extends Exception`

    - #### makeSet

          protected Set<BindingSet> makeSet()
                                     throws X extends Exception

      Throws:
        `X extends Exception`

    - #### makeSet

          protected Set<String> makeSet​(Set<String> set)
                                 throws X extends Exception

      Throws:
        `X extends Exception`

    - #### makeSet

          protected Set<BindingSet> makeSet​(Iteration<BindingSet,​X> rightArg2)
                                     throws X extends Exception

      Throws:
        `X extends Exception`

    - #### handleClose

          protected void handleClose()
                              throws X extends Exception

      Description copied from class: `IterationWrapper`
      Closes this Iteration and also closes the wrapped Iteration if it is a `CloseableIteration`.
      Overrides:
        `handleClose` in class `FilterIteration<BindingSet,​X extends Exception>`
      Throws:
        `X`
        `X extends Exception`

    - #### getRightArg

          protected Iteration<BindingSet,​X> getRightArg()

      Returns:
        Returns the rightArg.

    - #### clearExcludeSet

          protected long clearExcludeSet()