Package org.eclipse.rdf4j.repository.contextaware

## Class ContextAwareConnection

- java.lang.Object
- - org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
  - - org.eclipse.rdf4j.repository.base.RepositoryConnectionWrapper
    - - org.eclipse.rdf4j.repository.contextaware.ContextAwareConnection

- All Implemented Interfaces:
    `AutoCloseable`, `DelegatingRepositoryConnection`, `RepositoryConnection`

      public class ContextAwareConnection
      extends RepositoryConnectionWrapper

  Allows contexts to be specified at the connection level or the method level.
  Author:
    James Leigh

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ContextAwareConnection​(Repository repository)` |
    `ContextAwareConnection​(RepositoryConnection connection)` |
    `ContextAwareConnection​(Repository repository, RepositoryConnection connection)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(File file, String baseURI, RDFFormat dataFormat, Resource... contexts)` | Adds RDF data from the specified file to a specific contexts in the repository.
    `void` | `add​(File file, RDFFormat dataFormat, Resource... contexts)` | Adds RDF data from the specified file to a specific contexts in the repository.
    `void` | `add​(InputStream in, String baseURI, RDFFormat dataFormat, Resource... contexts)` | Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
    `void` | `add​(InputStream in, RDFFormat dataFormat, Resource... contexts)` | Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
    `void` | `add​(Reader reader, String baseURI, RDFFormat dataFormat, Resource... contexts)` | Adds RDF data from a Reader to the repository, optionally to one or more named contexts.
    `void` | `add​(Reader reader, RDFFormat dataFormat, Resource... contexts)` | Adds RDF data from a Reader to the repository, optionally to one or more named contexts.
    `void` | `add​(Iterable<? extends Statement> statements, Resource... contexts)` | Adds the supplied statements to this repository, optionally to one or more named contexts.
    `void` | `add​(URL url, String baseURI, RDFFormat dataFormat, Resource... contexts)` | Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.
    `void` | `add​(URL url, RDFFormat dataFormat, Resource... contexts)` | Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.
    `<E extends Exception> void` | `add​(Iteration<? extends Statement,​E> statementIter, Resource... contexts)` | Adds the supplied statements to this repository, optionally to one or more named contexts.
    `void` | `add​(Resource subject, IRI predicate, Value object, Resource... contexts)` | Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.
    `void` | `add​(Statement st, Resource... contexts)` | Adds the supplied statement to this repository, optionally to one or more named contexts.
    `void` | `clear​(Resource... contexts)` | Removes all statements from a specific contexts in the repository.
    `void` | `export​(RDFHandler handler, Resource... contexts)` | Exports all explicit statements in the specified contexts to the supplied RDFHandler.
    `void` | `exportStatements​(Resource subj, IRI pred, Value obj, boolean includeInferred, RDFHandler handler, Resource... contexts)` | Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.
    `void` | `exportStatements​(Resource subj, IRI pred, Value obj, RDFHandler handler, Resource... contexts)` | Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.
    `IRI[]` | `getAddContexts()` | Deprecated.
    `IRI[]` | `getArchiveContexts()` | Deprecated.
    `String` | `getBaseURI()` |
    `IRI` | `getInsertContext()` | The default context to add the statements to.
    `int` | `getMaxQueryTime()` |
    `QueryLanguage` | `getQueryLanguage()` |
    `IRI[]` | `getReadContexts()` | The default context(s) to get the data from.
    `IRI[]` | `getRemoveContexts()` | The context(s) to remove the data from.
    `RepositoryResult<Statement>` | `getStatements​(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts)` | Gets all statements with a specific subject, predicate and/or object from the repository.
    `RepositoryResult<Statement>` | `getStatements​(Resource subj, IRI pred, Value obj, Resource... contexts)` | Gets all statements with a specific subject, predicate and/or object from the repository.
    `boolean` | `hasStatement​(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts)` | Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.
    `boolean` | `hasStatement​(Resource subj, IRI pred, Value obj, Resource... contexts)` | Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.
    `boolean` | `hasStatement​(Statement st, boolean includeInferred, Resource... contexts)` | Checks whether the repository contains the specified statement, optionally in the specified contexts.
    `boolean` | `hasStatement​(Statement st, Resource... contexts)` | Checks whether the repository contains the specified statement, optionally in the specified contexts.
    `protected boolean` | `isDelegatingRemove()` | If false then the following remove methods will call `RepositoryConnectionWrapper.removeWithoutCommit(Resource, IRI, Value, Resource[])`.
    `boolean` | `isIncludeInferred()` | if false, no inferred statements are considered; if true, inferred statements are considered if available
    `BooleanQuery` | `prepareBooleanQuery​(QueryLanguage ql, String query)` | Prepares queries that return true or false.
    `BooleanQuery` | `prepareBooleanQuery​(QueryLanguage ql, String query, String baseURI)` | Prepares queries that return true or false.
    `GraphQuery` | `prepareGraphQuery​(String query)` | Prepares SPARQL queries that produce RDF graphs, that is, SPARQL CONSTRUCT or DESCRIBE queries.
    `GraphQuery` | `prepareGraphQuery​(QueryLanguage ql, String query)` | Prepares queries that produce RDF graphs.
    `GraphQuery` | `prepareGraphQuery​(QueryLanguage ql, String query, String baseURI)` | Prepares queries that produce RDF graphs.
    `Query` | `prepareQuery​(String query)` | Prepares a SPARQL query for evaluation on this repository (optional operation).
    `Query` | `prepareQuery​(QueryLanguage ql, String query)` | Prepares a query for evaluation on this repository (optional operation).
    `Query` | `prepareQuery​(QueryLanguage ql, String query, String baseURI)` | Prepares a query for evaluation on this repository (optional operation).
    `TupleQuery` | `prepareTupleQuery​(String query)` | Prepares a SPARQL query that produces sets of value tuples, that is a SPARQL SELECT query.
    `TupleQuery` | `prepareTupleQuery​(QueryLanguage ql, String query)` | Prepares a query that produces sets of value tuples.
    `TupleQuery` | `prepareTupleQuery​(QueryLanguage ql, String query, String baseURI)` | Prepares a query that produces sets of value tuples.
    `Update` | `prepareUpdate​(String query)` | Prepares a SPARQL Update operation.
    `Update` | `prepareUpdate​(QueryLanguage ql, String query)` | Prepares an Update operation.
    `Update` | `prepareUpdate​(QueryLanguage ql, String update, String baseURI)` | Prepares an Update operation.
    `void` | `remove​(Iterable<? extends Statement> statements, Resource... contexts)` | Removes the supplied statements from the specified contexts in this repository.
    `<E extends Exception> void` | `remove​(Iteration<? extends Statement,​E> statementIter, Resource... contexts)` | Removes the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.
    `void` | `remove​(Resource subject, IRI predicate, Value object, Resource... contexts)` | Removes the statement with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.
    `void` | `remove​(Statement st, Resource... contexts)` | Removes the supplied statement from the specified contexts in the repository.
    `protected void` | `removeWithoutCommit​(Resource subject, IRI predicate, Value object, Resource... contexts)` |
    `void` | `setAddContexts​(IRI... addContexts)` | Deprecated.
    `void` | `setArchiveContexts​(IRI... archiveContexts)` | Deprecated.
    `void` | `setBaseURI​(String baseURI)` |
    `void` | `setIncludeInferred​(boolean includeInferred)` | if false, no inferred statements are considered; if true, inferred statements are considered if available
    `void` | `setInsertContext​(IRI insertContext)` | The default context to add the statements to.
    `void` | `setMaxQueryTime​(int maxQueryTime)` |
    `void` | `setQueryLanguage​(QueryLanguage ql)` |
    `void` | `setReadContexts​(IRI... readContexts)` | The default context(s) to get the data from.
    `void` | `setRemoveContexts​(IRI... removeContexts)` | The context(s) to remove the data from.
    `long` | `size​(Resource... contexts)` | Returns the number of (explicit) statements that are in the specified contexts in this repository.

    - ### Methods inherited from class org.eclipse.rdf4j.repository.base.RepositoryConnectionWrapper

      `addWithoutCommit, begin, begin, begin, clearNamespaces, close, commit, exportStatements, getContextIDs, getDelegate, getIsolationLevel, getNamespace, getNamespaces, isActive, isAutoCommit, isDelegatingAdd, isDelegatingRead, isEmpty, isOpen, prepare, removeNamespace, rollback, setAutoCommit, setDelegate, setIsolationLevel, setNamespace, setParserConfig`

    - ### Methods inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection

      `addWithoutCommit, conditionalCommit, conditionalRollback, getParserConfig, getRepository, getValueFactory, removeWithoutCommit, startLocalTransaction`

    - ### 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.repository.RepositoryConnection

      `add, add, add, getParserConfig, getRepository, getValueFactory, prepareBooleanQuery, remove`

- - ### Constructor Detail

    - #### ContextAwareConnection

          public ContextAwareConnection​(Repository repository)
                                 throws RepositoryException

      Throws:
        `RepositoryException`

    - #### ContextAwareConnection

          public ContextAwareConnection​(RepositoryConnection connection)
                                 throws RepositoryException

      Throws:
        `RepositoryException`

    - #### ContextAwareConnection

          public ContextAwareConnection​(Repository repository,
                                        RepositoryConnection connection)
                                 throws RepositoryException

      Throws:
        `RepositoryException`

  - ### Method Detail

    - #### isDelegatingRemove

          protected boolean isDelegatingRemove()
                                        throws RepositoryException

      Description copied from class: `RepositoryConnectionWrapper`
      If false then the following remove methods will call `RepositoryConnectionWrapper.removeWithoutCommit(Resource, IRI, Value, Resource[])`.
      Overrides:
        `isDelegatingRemove` in class `RepositoryConnectionWrapper`
      Returns:
        `true` to delegate remove methods, `false` to call `RepositoryConnectionWrapper.removeWithoutCommit(Resource, IRI, Value, Resource...)`
      Throws:
        `RepositoryException`
      See Also:
        `RepositoryConnectionWrapper.clear(Resource...)`, `RepositoryConnectionWrapper.remove(Iterable, Resource...)`, `RepositoryConnectionWrapper.remove(Iteration, Resource...)`, `RepositoryConnectionWrapper.remove(Statement, Resource...)`, `RepositoryConnectionWrapper.remove(Resource, IRI, Value, Resource...)`

    - #### isIncludeInferred

          public boolean isIncludeInferred()

      if false, no inferred statements are considered; if true, inferred statements are considered if available

    - #### setIncludeInferred

          public void setIncludeInferred​(boolean includeInferred)

      if false, no inferred statements are considered; if true, inferred statements are considered if available

    - #### getMaxQueryTime

          public int getMaxQueryTime()

    - #### setMaxQueryTime

          public void setMaxQueryTime​(int maxQueryTime)

    - #### getQueryLanguage

          public QueryLanguage getQueryLanguage()

    - #### setQueryLanguage

          public void setQueryLanguage​(QueryLanguage ql)

    - #### getBaseURI

          public String getBaseURI()

      Returns:
        Returns the default baseURI.

    - #### setBaseURI

          public void setBaseURI​(String baseURI)

      Parameters:
        `baseURI` - The default baseURI to set.

    - #### getReadContexts

          public IRI[] getReadContexts()

      The default context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.

    - #### setReadContexts

          public void setReadContexts​(IRI... readContexts)

      The default context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.

    - #### getAddContexts

          @Deprecated
          public IRI[] getAddContexts()

      Deprecated.
      The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, each statement is added to any context specified in the statement, or if the statement contains no context, it is added without a context. If one or more contexts are specified each statement is added to these contexts, ignoring any context information in the statement itself.

    - #### setAddContexts

          @Deprecated
          public void setAddContexts​(IRI... addContexts)

      Deprecated.
      The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, each statement is added to any context specified in the statement, or if the statement contains no context, it is added without a context. If one or more contexts are specified each statement is added to these contexts, ignoring any context information in the statement itself.

    - #### getRemoveContexts

          public IRI[] getRemoveContexts()

      The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.

    - #### setRemoveContexts

          public void setRemoveContexts​(IRI... removeContexts)

      The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.

    - #### getArchiveContexts

          @Deprecated
          public IRI[] getArchiveContexts()

      Deprecated.
      Before Statements are removed, they are first copied to these contexts.

    - #### setArchiveContexts

          @Deprecated
          public void setArchiveContexts​(IRI... archiveContexts)

      Deprecated.
      Before Statements are removed, they are first copied to these contexts.

    - #### getInsertContext

          public IRI getInsertContext()

      The default context to add the statements to. For INSERT/add operations Each statement is added to any context specified in the statement, or if the statement contains no context, it is added with the context specified here.

    - #### setInsertContext

          public void setInsertContext​(IRI insertContext)

      The default context to add the statements to. For INSERT/add operations Each statement is added to any context specified in the statement, or if the statement contains no context, it is added with the context specified here.

    - #### add

          public void add​(File file,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds RDF data from the specified file to a specific contexts in the repository.
      Parameters:
        `file` - A file containing RDF data.
        `dataFormat` - The serialization format of the data. If set to null, the format will be automatically determined by examining the file name extension of the supplied File.
        `contexts` - The contexts to add the data to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, the data is added to any context specified in the actual data file, or if the data contains no context, it is added without context. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
      Throws:
        `IOException` - If an I/O error occurred while reading from the file.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(File file,
                          String baseURI,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds RDF data from the specified file to a specific contexts in the repository.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `file` - A file containing RDF data.
        `baseURI` - The base URI to resolve any relative URIs that are in the data against. This defaults to the value of `file.toURI()` if the value is set to null.

        Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).

        `dataFormat` - The serialization format of the data. If set to null, the format will be automatically determined by examining the file name extension of the supplied File.
        `contexts` - The contexts to add the data to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, the data is added to any context specified in the actual data file, or if the data contains no context, it is added without context. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
      Throws:
        `IOException` - If an I/O error occurred while reading from the file.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(InputStream in,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
      Parameters:
        `in` - An InputStream from which RDF data can be read.
        `dataFormat` - The serialization format of the data.
        `contexts` - The contexts to add the data to. If one or more contexts are supplied the method ignores contextual information in the actual data. If no contexts are supplied the contextual information in the input stream is used, if no context information is available the data is added without any context.
      Throws:
        `IOException` - If an I/O error occurred while reading from the input stream.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(InputStream in,
                          String baseURI,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `in` - An InputStream from which RDF data can be read.
        `baseURI` - The base URI to resolve any relative URIs that are in the data against. May be `null`.

        Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).

        `dataFormat` - The serialization format of the data.
        `contexts` - The contexts to add the data to. If one or more contexts are supplied the method ignores contextual information in the actual data. If no contexts are supplied the contextual information in the input stream is used, if no context information is available the data is added without any context.
      Throws:
        `IOException` - If an I/O error occurred while reading from the input stream.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(Iterable<? extends Statement> statements,
                          Resource... contexts)
                   throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds the supplied statements to this repository, optionally to one or more named contexts.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `statements` - The statements that should be added.
        `contexts` - The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, each statement is added to any context specified in the statement, or if the statement contains no context, it is added without context. If one or more contexts are specified each statement is added to these contexts, ignoring any context information in the statement itself. ignored.
      Throws:
        `RepositoryException` - If the statements could not be added to the repository, for example because the repository is not writable.

    - #### add

          public <E extends Exception> void add​(Iteration<? extends Statement,​E> statementIter,
                                                Resource... contexts)
                                         throws RepositoryException,
                                                E extends Exception

      Description copied from interface: `RepositoryConnection`
      Adds the supplied statements to this repository, optionally to one or more named contexts.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `statementIter` - The statements to add. In case the iteration is a `CloseableIteration`, it will be closed before this method returns.
        `contexts` - The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, each statement is added to any context specified in the statement, or if the statement contains no context, it is added without context. If one or more contexts are specified each statement is added to these contexts, ignoring any context information in the statement itself. ignored.
      Throws:
        `RepositoryException` - If the statements could not be added to the repository, for example because the repository is not writable.
        `E extends Exception`

    - #### add

          public void add​(Reader reader,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds RDF data from a Reader to the repository, optionally to one or more named contexts. Note: using a Reader to upload byte-based data means that you have to be careful not to destroy the data's character encoding by enforcing a default character encoding upon the bytes. If possible, adding such data using an InputStream is to be preferred.
      Parameters:
        `reader` - A Reader from which RDF data can be read.
        `dataFormat` - The serialization format of the data.
        `contexts` - The contexts to add the data to. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
      Throws:
        `IOException` - If an I/O error occurred while reading from the reader.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(Reader reader,
                          String baseURI,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds RDF data from a Reader to the repository, optionally to one or more named contexts. Note: using a Reader to upload byte-based data means that you have to be careful not to destroy the data's character encoding by enforcing a default character encoding upon the bytes. If possible, adding such data using an InputStream is to be preferred.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `reader` - A Reader from which RDF data can be read.
        `baseURI` - The base URI to resolve any relative URIs that are in the data against. May be `null`.

        Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).

        `dataFormat` - The serialization format of the data.
        `contexts` - The contexts to add the data to. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
      Throws:
        `IOException` - If an I/O error occurred while reading from the reader.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(Resource subject,
                          IRI predicate,
                          Value object,
                          Resource... contexts)
                   throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
        `contexts` - The contexts to add the data to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, the data is added to any context specified in the actual data file, or if the data contains no context, it is added without context. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
      Throws:
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(Statement st,
                          Resource... contexts)
                   throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds the supplied statement to this repository, optionally to one or more named contexts.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `st` - The statement to add.
        `contexts` - The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, the statement is added to any context specified in each statement, or if the statement contains no context, it is added without context. If one or more contexts are specified the statement is added to these contexts, ignoring any context information in the statement itself.
      Throws:
        `RepositoryException` - If the statement could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(URL url,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.
      Parameters:
        `url` - The URL of the RDF data.
        `dataFormat` - The serialization format of the data. If set to null, the format will be automatically determined by examining the content type in the HTTP response header, and failing that, the file name extension of the supplied URL.
        `contexts` - The contexts to add the data to. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
      Throws:
        `IOException` - If an I/O error occurred while reading from the URL.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### add

          public void add​(URL url,
                          String baseURI,
                          RDFFormat dataFormat,
                          Resource... contexts)
                   throws IOException,
                          RDFParseException,
                          RepositoryException

      Description copied from interface: `RepositoryConnection`
      Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.
      Specified by:
        `add` in interface `RepositoryConnection`
      Overrides:
        `add` in class `RepositoryConnectionWrapper`
      Parameters:
        `url` - The URL of the RDF data.
        `baseURI` - The base URI to resolve any relative URIs that are in the data against. This defaults to the value of `url.toExternalForm()` if the value is set to null.

        Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).

        `dataFormat` - The serialization format of the data. If set to null, the format will be automatically determined by examining the content type in the HTTP response header, and failing that, the file name extension of the supplied URL.
        `contexts` - The contexts to add the data to. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
      Throws:
        `IOException` - If an I/O error occurred while reading from the URL.
        `RDFParseException` - If an error was found while parsing the RDF data.
        `RepositoryException` - If the data could not be added to the repository, for example because the repository is not writable.

    - #### clear

          public void clear​(Resource... contexts)
                     throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Removes all statements from a specific contexts in the repository.
      Specified by:
        `clear` in interface `RepositoryConnection`
      Overrides:
        `clear` in class `RepositoryConnectionWrapper`
      Parameters:
        `contexts` - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `RepositoryException` - If the statements could not be removed from the repository, for example because the repository is not writable.

    - #### export

          public void export​(RDFHandler handler,
                             Resource... contexts)
                      throws RepositoryException,
                             RDFHandlerException

      Description copied from interface: `RepositoryConnection`
      Exports all explicit statements in the specified contexts to the supplied RDFHandler. This method supplies the RDFHandler with all namespace declarations available in the repository.
      Specified by:
        `export` in interface `RepositoryConnection`
      Overrides:
        `export` in class `AbstractRepositoryConnection`
      Parameters:
        `handler` - The handler that will handle the RDF data.
        `contexts` - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `RDFHandlerException` - If the handler encounters an unrecoverable error.
        `RepositoryException`

    - #### exportStatements

          public void exportStatements​(Resource subj,
                                       IRI pred,
                                       Value obj,
                                       RDFHandler handler,
                                       Resource... contexts)
                                throws RepositoryException,
                                       RDFHandlerException

      Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.
      Parameters:
        `subj` - The subject, or null if the subject doesn't matter.
        `pred` - The predicate, or null if the predicate doesn't matter.
        `obj` - The object, or null if the object doesn't matter.
        `handler` - The handler that will handle the RDF data.
      Throws:
        `RDFHandlerException` - If the handler encounters an unrecoverable error.
        `RepositoryException`
      See Also:
        `getReadContexts()`, `isIncludeInferred()`

    - #### exportStatements

          public void exportStatements​(Resource subj,
                                       IRI pred,
                                       Value obj,
                                       boolean includeInferred,
                                       RDFHandler handler,
                                       Resource... contexts)
                                throws RepositoryException,
                                       RDFHandlerException

      Description copied from interface: `RepositoryConnection`
      Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts. This method supplies the RDFHandler with all namespace declarations available in the repository.
      Specified by:
        `exportStatements` in interface `RepositoryConnection`
      Overrides:
        `exportStatements` in class `RepositoryConnectionWrapper`
      Parameters:
        `subj` - The subject, or null if the subject doesn't matter.
        `pred` - The predicate, or null if the predicate doesn't matter.
        `obj` - The object, or null if the object doesn't matter.
        `includeInferred` - if false, no inferred statements are returned; if true, inferred statements are returned if available
        `handler` - The handler that will handle the RDF data.
        `contexts` - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `RDFHandlerException` - If the handler encounters an unrecoverable error.
        `RepositoryException`

    - #### getStatements

          public RepositoryResult<Statement> getStatements​(Resource subj,
                                                           IRI pred,
                                                           Value obj,
                                                           Resource... contexts)
                                                    throws RepositoryException

      Gets all statements with a specific subject, predicate and/or object from the repository. The result is optionally restricted to the specified set of named contexts.
      Parameters:
        `subj` - A Resource specifying the subject, or null for a wildcard.
        `pred` - A URI specifying the predicate, or null for a wildcard.
        `obj` - A Value specifying the object, or null for a wildcard.
        `contexts` - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Returns:
        The statements matching the specified pattern. The result object is a `RepositoryResult` object, a lazy Iterator-like object containing `Statement`s and optionally throwing a `RepositoryException` when an error when a problem occurs during retrieval.
      Throws:
        `RepositoryException`
      See Also:
        `getReadContexts()`, `isIncludeInferred()`

    - #### getStatements

          public RepositoryResult<Statement> getStatements​(Resource subj,
                                                           IRI pred,
                                                           Value obj,
                                                           boolean includeInferred,
                                                           Resource... contexts)
                                                    throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Gets all statements with a specific subject, predicate and/or object from the repository. The result is optionally restricted to the specified set of named contexts.
      Specified by:
        `getStatements` in interface `RepositoryConnection`
      Overrides:
        `getStatements` in class `RepositoryConnectionWrapper`
      Parameters:
        `subj` - A Resource specifying the subject, or null for a wildcard.
        `pred` - An IRI specifying the predicate, or null for a wildcard.
        `obj` - A Value specifying the object, or null for a wildcard.
        `includeInferred` - if false, no inferred statements are returned; if true, inferred statements are returned if available. The default is true.
        `contexts` - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Returns:
        The statements matching the specified pattern. The result object is a `RepositoryResult` object, a lazy Iterator-like object containing `Statement`s and optionally throwing a `RepositoryException` when an error when a problem occurs during retrieval.
      Throws:
        `RepositoryException`

    - #### hasStatement

          public boolean hasStatement​(Resource subj,
                                      IRI pred,
                                      Value obj,
                                      boolean includeInferred,
                                      Resource... contexts)
                               throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.
      Specified by:
        `hasStatement` in interface `RepositoryConnection`
      Overrides:
        `hasStatement` in class `RepositoryConnectionWrapper`
      Parameters:
        `subj` - A Resource specifying the subject, or null for a wildcard.
        `pred` - An IRI specifying the predicate, or null for a wildcard.
        `obj` - A Value specifying the object, or null for a wildcard.
        `includeInferred` - if false, no inferred statements are considered; if true, inferred statements are considered if available
        `contexts` - The context(s) the need to be searched. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Returns:
        true If a matching statement is in the repository in the specified context, false otherwise.
      Throws:
        `RepositoryException`

    - #### hasStatement

          public boolean hasStatement​(Statement st,
                                      boolean includeInferred,
                                      Resource... contexts)
                               throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Checks whether the repository contains the specified statement, optionally in the specified contexts.
      Specified by:
        `hasStatement` in interface `RepositoryConnection`
      Overrides:
        `hasStatement` in class `RepositoryConnectionWrapper`
      Parameters:
        `st` - The statement to look for. Context information in the statement is ignored.
        `includeInferred` - if false, no inferred statements are considered; if true, inferred statements are considered if available
        `contexts` - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Returns:
        true If the repository contains the specified statement, false otherwise.
      Throws:
        `RepositoryException`

    - #### hasStatement

          public boolean hasStatement​(Resource subj,
                                      IRI pred,
                                      Value obj,
                                      Resource... contexts)
                               throws RepositoryException

      Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.
      Parameters:
        `subj` - A Resource specifying the subject, or null for a wildcard.
        `pred` - A URI specifying the predicate, or null for a wildcard.
        `obj` - A Value specifying the object, or null for a wildcard.
      Returns:
        true If a matching statement is in the repository in the specified context, false otherwise.
      Throws:
        `RepositoryException`
      See Also:
        `getReadContexts()`, `isIncludeInferred()`

    - #### hasStatement

          public boolean hasStatement​(Statement st,
                                      Resource... contexts)
                               throws RepositoryException

      Checks whether the repository contains the specified statement, optionally in the specified contexts.
      Parameters:
        `st` - The statement to look for. Context information in the statement is ignored.
      Returns:
        true If the repository contains the specified statement, false otherwise.
      Throws:
        `RepositoryException`
      See Also:
        `getReadContexts()`, `isIncludeInferred()`

    - #### prepareGraphQuery

          public GraphQuery prepareGraphQuery​(String query)
                                       throws MalformedQueryException,
                                              RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares SPARQL queries that produce RDF graphs, that is, SPARQL CONSTRUCT or DESCRIBE queries. In case the query contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareGraphQuery(QueryLanguage, String, String)` instead.
      Parameters:
        `query` - The query string, in SPARQL syntax.
      Returns:
        a `GraphQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`
      See Also:
        `RepositoryConnection.prepareGraphQuery(QueryLanguage, String)`

    - #### prepareQuery

          public Query prepareQuery​(String query)
                             throws MalformedQueryException,
                                    RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares a SPARQL query for evaluation on this repository (optional operation). In case the query contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareQuery(QueryLanguage, String, String)` instead.

      If you already know the type of query, using the more specific `RepositoryConnection.prepareTupleQuery(java.lang.String)`, `RepositoryConnection.prepareGraphQuery(java.lang.String)` or `RepositoryConnection.prepareBooleanQuery(java.lang.String)` is likely to be more efficient.

      Parameters:
        `query` - The query string, in SPARQL syntax.
      Returns:
        A query ready to be evaluated on this repository.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`
      See Also:
        `RepositoryConnection.prepareQuery(QueryLanguage, String)`

    - #### prepareTupleQuery

          public TupleQuery prepareTupleQuery​(String query)
                                       throws MalformedQueryException,
                                              RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares a SPARQL query that produces sets of value tuples, that is a SPARQL SELECT query. In case the query contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareTupleQuery(QueryLanguage, String, String)` instead.
      Parameters:
        `query` - The query string, in SPARQL syntax.
      Returns:
        a `TupleQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`
      See Also:
        `RepositoryConnection.prepareTupleQuery(QueryLanguage, String)`

    - #### prepareUpdate

          public Update prepareUpdate​(String query)
                               throws MalformedQueryException,
                                      RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares a SPARQL Update operation. In case the update string contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareUpdate(QueryLanguage, String, String)` instead.
      Parameters:
        `query` - The update operation string, in SPARQL syntax.
      Returns:
        a `Update` ready to be executed on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied update operation string is malformed.
        `RepositoryException`
      See Also:
        `RepositoryConnection.prepareUpdate(QueryLanguage, String)`

    - #### prepareGraphQuery

          public GraphQuery prepareGraphQuery​(QueryLanguage ql,
                                              String query)
                                       throws MalformedQueryException,
                                              RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares queries that produce RDF graphs. In case the query contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareGraphQuery(QueryLanguage, String, String)` instead.
      Specified by:
        `prepareGraphQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareGraphQuery` in class `AbstractRepositoryConnection`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
      Returns:
        a `GraphQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareQuery

          public Query prepareQuery​(QueryLanguage ql,
                                    String query)
                             throws MalformedQueryException,
                                    RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares a query for evaluation on this repository (optional operation). In case the query contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareQuery(QueryLanguage, String, String)` instead.

      If you already know the type of query, using the more specific `RepositoryConnection.prepareTupleQuery(java.lang.String)`, `RepositoryConnection.prepareGraphQuery(java.lang.String)` or `RepositoryConnection.prepareBooleanQuery(java.lang.String)` is likely to be more efficient.

      Specified by:
        `prepareQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareQuery` in class `AbstractRepositoryConnection`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
      Returns:
        A query ready to be evaluated on this repository.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareTupleQuery

          public TupleQuery prepareTupleQuery​(QueryLanguage ql,
                                              String query)
                                       throws MalformedQueryException,
                                              RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares a query that produces sets of value tuples. In case the query contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareTupleQuery(QueryLanguage, String, String)` instead.
      Specified by:
        `prepareTupleQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareTupleQuery` in class `AbstractRepositoryConnection`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
      Returns:
        a `TupleQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareBooleanQuery

          public BooleanQuery prepareBooleanQuery​(QueryLanguage ql,
                                                  String query)
                                           throws MalformedQueryException,
                                                  RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares queries that return true or false. In case the query contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareBooleanQuery(QueryLanguage, String, String)` instead.
      Specified by:
        `prepareBooleanQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareBooleanQuery` in class `AbstractRepositoryConnection`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
      Returns:
        a `BooleanQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareUpdate

          public Update prepareUpdate​(QueryLanguage ql,
                                      String query)
                               throws MalformedQueryException,
                                      RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares an Update operation. In case the update string contains relative URIs that need to be resolved against an external base URI, one should use `RepositoryConnection.prepareUpdate(QueryLanguage, String, String)` instead.
      Specified by:
        `prepareUpdate` in interface `RepositoryConnection`
      Overrides:
        `prepareUpdate` in class `AbstractRepositoryConnection`
      Parameters:
        `ql` - The `query language` in which the update operation is formulated.
        `query` - The update operation string.
      Returns:
        a `Update` ready to be executed on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied update operation string is malformed.
        `RepositoryException`

    - #### prepareGraphQuery

          public GraphQuery prepareGraphQuery​(QueryLanguage ql,
                                              String query,
                                              String baseURI)
                                       throws MalformedQueryException,
                                              RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares queries that produce RDF graphs.
      Specified by:
        `prepareGraphQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareGraphQuery` in class `RepositoryConnectionWrapper`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
        `baseURI` - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
      Returns:
        a `GraphQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareQuery

          public Query prepareQuery​(QueryLanguage ql,
                                    String query,
                                    String baseURI)
                             throws MalformedQueryException,
                                    RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares a query for evaluation on this repository (optional operation).

      If you already know the type of query, using the more specific `RepositoryConnection.prepareTupleQuery(java.lang.String)`, `RepositoryConnection.prepareGraphQuery(java.lang.String)` or `RepositoryConnection.prepareBooleanQuery(java.lang.String)` is likely to be more efficient.

      Specified by:
        `prepareQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareQuery` in class `RepositoryConnectionWrapper`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
        `baseURI` - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
      Returns:
        A query ready to be evaluated on this repository.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareTupleQuery

          public TupleQuery prepareTupleQuery​(QueryLanguage ql,
                                              String query,
                                              String baseURI)
                                       throws MalformedQueryException,
                                              RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares a query that produces sets of value tuples.
      Specified by:
        `prepareTupleQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareTupleQuery` in class `RepositoryConnectionWrapper`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
        `baseURI` - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
      Returns:
        a `TupleQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareBooleanQuery

          public BooleanQuery prepareBooleanQuery​(QueryLanguage ql,
                                                  String query,
                                                  String baseURI)
                                           throws MalformedQueryException,
                                                  RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares queries that return true or false.
      Specified by:
        `prepareBooleanQuery` in interface `RepositoryConnection`
      Overrides:
        `prepareBooleanQuery` in class `RepositoryConnectionWrapper`
      Parameters:
        `ql` - The `query language` in which the query is formulated.
        `query` - The query string.
        `baseURI` - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
      Returns:
        a `BooleanQuery` ready to be evaluated on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied query is malformed.
        `RepositoryException`

    - #### prepareUpdate

          public Update prepareUpdate​(QueryLanguage ql,
                                      String update,
                                      String baseURI)
                               throws MalformedQueryException,
                                      RepositoryException

      Description copied from interface: `RepositoryConnection`
      Prepares an Update operation.
      Specified by:
        `prepareUpdate` in interface `RepositoryConnection`
      Overrides:
        `prepareUpdate` in class `RepositoryConnectionWrapper`
      Parameters:
        `ql` - The `query language` in which the update operation is formulated.
        `update` - The update operation string.
        `baseURI` - The base URI to resolve any relative URIs that are in the update against, can be null if the update does not contain any relative URIs.
      Returns:
        a `Update` ready to be executed on this `RepositoryConnection`.
      Throws:
        `MalformedQueryException` - If the supplied update operation string is malformed.
        `RepositoryException`

    - #### remove

          public void remove​(Iterable<? extends Statement> statements,
                             Resource... contexts)
                      throws RepositoryException

      Description copied from interface: `RepositoryConnection`
      Removes the supplied statements from the specified contexts in this repository.
      Specified by:
        `remove` in interface `RepositoryConnection`
      Overrides:
        `remove` in class `RepositoryConnectionWrapper`
      Parameters:
        `statements` - The statements that should be added.
        `contexts` - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.
      Throws:
        `RepositoryException` - If the statements could not be added to the repository, for example because the repository is not writable.

    - #### remove

          public <E extends Exception> void remove​(Iteration<? extends Statement,​E> statementIter,
                                                   Resource... contexts)
                                            throws RepositoryException,
                                                   E extends Exception

      Removes the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.
      Specified by:
        `remove` in interface `RepositoryConnection`
      Overrides:
        `remove` in class `RepositoryConnectionWrapper`
      Parameters:
        `statementIter` - The statements to remove. In case the iterator is a `CloseableIteration`, it will be closed before this method returns.
        `contexts` - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.
      Throws:
        `RepositoryException` - If the statements could not be removed from the repository, for example because the repository is not writable.
        `E extends Exception`
      See Also:
        `getRemoveContexts()`

    - #### remove

          public void remove​(Resource subject,
                             IRI predicate,
                             Value object,
                             Resource... contexts)
                      throws RepositoryException

      Removes the statement with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.
      Specified by:
        `remove` in interface `RepositoryConnection`
      Overrides:
        `remove` in class `RepositoryConnectionWrapper`
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
        `contexts` - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `RepositoryException` - If the statement could not be removed from the repository, for example because the repository is not writable.
      See Also:
        `getRemoveContexts()`

    - #### remove

          public void remove​(Statement st,
                             Resource... contexts)
                      throws RepositoryException

      Removes the supplied statement from the specified contexts in the repository.
      Specified by:
        `remove` in interface `RepositoryConnection`
      Overrides:
        `remove` in class `RepositoryConnectionWrapper`
      Parameters:
        `st` - The statement to remove.
        `contexts` - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.
      Throws:
        `RepositoryException` - If the statement could not be removed from the repository, for example because the repository is not writable.
      See Also:
        `getRemoveContexts()`

    - #### size

          public long size​(Resource... contexts)
                    throws RepositoryException

      Returns the number of (explicit) statements that are in the specified contexts in this repository.
      Specified by:
        `size` in interface `RepositoryConnection`
      Overrides:
        `size` in class `RepositoryConnectionWrapper`
      Parameters:
        `contexts` - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Returns:
        The number of explicit statements from the specified contexts in this repository.
      Throws:
        `RepositoryException`
      See Also:
        `getReadContexts()`

    - #### removeWithoutCommit

          protected void removeWithoutCommit​(Resource subject,
                                             IRI predicate,
                                             Value object,
                                             Resource... contexts)
                                      throws RepositoryException

      Overrides:
        `removeWithoutCommit` in class `RepositoryConnectionWrapper`
      Throws:
        `RepositoryException`