Class AbstractRepositoryConnection

    • Field Detail

      • logger

        protected final org.slf4j.Logger logger
      • isOpen

        private final java.util.concurrent.atomic.AtomicBoolean isOpen
    • Constructor Detail

      • AbstractRepositoryConnection

        protected AbstractRepositoryConnection​(Repository repository)
    • Method Detail

      • setParserConfig

        public void setParserConfig​(ParserConfig parserConfig)
        Description copied from interface: RepositoryConnection
        Set the parser configuration this connection should use for RDFParser-based operations.
        Specified by:
        setParserConfig in interface RepositoryConnection
        Parameters:
        parserConfig - a Rio RDF Parser configuration.
      • setIsolationLevel

        public void setIsolationLevel​(IsolationLevel level)
                               throws java.lang.IllegalStateException
        Description copied from interface: RepositoryConnection
        Sets the transaction isolation level for the next transaction(s) on this connection. If the level is set to a value that is not supported by the underlying repository, this method will still succeed but a subsequent call to RepositoryConnection.begin() will result in an exception.
        Specified by:
        setIsolationLevel in interface RepositoryConnection
        Parameters:
        level - the transaction isolation level to set.
        Throws:
        java.lang.IllegalStateException - if the method is called while a transaction is already active.
      • 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
        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
        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
      • 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
        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
      • add

        public void add​(java.io.File file,
                        java.lang.String baseURI,
                        RDFFormat dataFormat,
                        Resource... contexts)
                 throws java.io.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
        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:
        java.io.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​(java.net.URL url,
                        java.lang.String baseURI,
                        RDFFormat dataFormat,
                        Resource... contexts)
                 throws java.io.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
        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:
        java.io.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​(java.io.InputStream in,
                        java.lang.String baseURI,
                        RDFFormat dataFormat,
                        Resource... contexts)
                 throws java.io.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
        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:
        java.io.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.
      • startLocalTransaction

        protected final boolean startLocalTransaction()
                                               throws RepositoryException
        Starts a new transaction if one is not already active.
        Returns:
        true if a new transaction was started, false if a transaction was already active.
        Throws:
        RepositoryException
      • add

        public void add​(java.io.Reader reader,
                        java.lang.String baseURI,
                        RDFFormat dataFormat,
                        Resource... contexts)
                 throws java.io.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
        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:
        java.io.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​(java.lang.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
        Parameters:
        statements - The statements that should be added. In case the iterable is NamespaceAware and the target repository supports it, the iterable's namespaces are also added to the repository, without overwriting existing ones.
        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 java.lang.Exception> void add​(Iteration<? extends Statement,​E> statements,
                                                        Resource... contexts)
                                                 throws RepositoryException,
                                                        E extends java.lang.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
        Parameters:
        statements - 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 java.lang.Exception
      • 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
        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​(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
        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.
      • remove

        public void remove​(java.lang.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
        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 java.lang.Exception> void remove​(Iteration<? extends Statement,​E> statements,
                                                           Resource... contexts)
                                                    throws RepositoryException,
                                                           E extends java.lang.Exception
        Description copied from interface: RepositoryConnection
        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
        Parameters:
        statements - The statements to remove. In case the iteration 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 java.lang.Exception
      • remove

        public void remove​(Statement st,
                           Resource... contexts)
                    throws RepositoryException
        Description copied from interface: RepositoryConnection
        Removes the supplied statement from the specified contexts in the repository.
        Specified by:
        remove in interface RepositoryConnection
        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.
      • remove

        public void remove​(Resource subject,
                           IRI predicate,
                           Value object,
                           Resource... contexts)
                    throws RepositoryException
        Description copied from interface: RepositoryConnection
        Removes the statement(s) with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.
        Specified by:
        remove in interface RepositoryConnection
        Parameters:
        subject - The statement's subject, or null for a wildcard.
        predicate - The statement's predicate, or null for a wildcard.
        object - The statement's object, or null for a wildcard.
        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(s) could not be removed from 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
        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.
      • getNamespace

        public abstract java.lang.String getNamespace​(java.lang.String prefix)
                                               throws RepositoryException
        Description copied from interface: RepositoryConnection
        Gets the namespace that is associated with the specified prefix, if any.
        Specified by:
        getNamespace in interface RepositoryConnection
        Parameters:
        prefix - A namespace prefix, or an empty string in case of the default namespace.
        Returns:
        The namespace name that is associated with the specified prefix, or null if there is no such namespace.
        Throws:
        RepositoryException - If the namespace could not be read from the repository.
      • setNamespace

        public abstract void setNamespace​(java.lang.String prefix,
                                          java.lang.String name)
                                   throws RepositoryException
        Description copied from interface: RepositoryConnection
        Sets the prefix for a namespace.
        Specified by:
        setNamespace in interface RepositoryConnection
        Parameters:
        prefix - The new prefix, or an empty string in case of the default namespace.
        name - The namespace name that the prefix maps to.
        Throws:
        RepositoryException - If the namespace could not be set in the repository, for example because the repository is not writable.