Class SPARQLRepository

    • Constructor Detail

      • SPARQLRepository

        public SPARQLRepository​(String endpointUrl)
        Create a new SPARQLRepository using the supplied endpoint URL for queries and updates.
        Parameters:
        endpointUrl - a SPARQL endpoint URL. May not be null.
      • SPARQLRepository

        public SPARQLRepository​(String queryEndpointUrl,
                                String updateEndpointUrl)
        Create a new SPARQLRepository using the supplied query endpoint URL for queries, and the supplied update endpoint URL for updates.
        Parameters:
        queryEndpointUrl - a SPARQL endpoint URL for queries. May not be null.
        updateEndpointUrl - a SPARQL endpoint URL for updates. May not be null.
        Throws:
        IllegalArgumentException - if one of the supplied endpoint URLs is null.
    • Method Detail

      • getHttpClient

        public final org.apache.http.client.HttpClient getHttpClient()
        Description copied from interface: HttpClientDependent
        HttpClient that has been assigned or has been used by this object. The life cycle might not be or might be tied to this object, depending on whether HttpClient was passed to or created by this object respectively.
        Specified by:
        getHttpClient in interface HttpClientDependent
        Returns:
        an HttpClient instance or null
      • setHttpClient

        public void setHttpClient​(org.apache.http.client.HttpClient httpClient)
        Description copied from interface: HttpClientDependent
        Assign an HttpClient that this object should use. The life cycle of the given HttpClient is independent of this object. Closing or shutting down this object does not have any impact on the given client. Callers must ensure that the given client is properly closed elsewhere.
        Specified by:
        setHttpClient in interface HttpClientDependent
      • createSPARQLProtocolSession

        protected SPARQLProtocolSession createSPARQLProtocolSession()
        Creates a new SPARQLProtocolSession object. The life-cycle of this is per-connection.
        Returns:
        a SPARQLProtocolSession object.
      • getConnection

        public RepositoryConnection getConnection()
                                           throws RepositoryException
        Description copied from interface: Repository
        Opens a connection to this repository that can be used for querying and updating the contents of the repository. Created connections need to be closed to make sure that any resources they keep hold of are released. The best way to do this is to use a try-with-resources block, as follows:
         try (RepositoryConnection conn = repository.getConnection()) {
                // perform operations on the connection
         }
         

        Note that RepositoryConnection is not guaranteed to be thread-safe! The recommended pattern for repository access in a multi-threaded application is to share the Repository object between threads, but have each thread create and use its own RepositoryConnections.

        Specified by:
        getConnection in interface Repository
        Returns:
        A connection that allows operations on this repository.
        Throws:
        RepositoryException - If something went wrong during the creation of the Connection.
      • getDataDir

        public File getDataDir()
        Description copied from interface: Repository
        Get the directory where data and logging for this repository is stored.
        Specified by:
        getDataDir in interface Repository
        Returns:
        the directory where data for this repository is stored.
      • getValueFactory

        public ValueFactory getValueFactory()
        Description copied from interface: Repository
        Gets a ValueFactory for this Repository.
        Specified by:
        getValueFactory in interface Repository
        Returns:
        A repository-specific ValueFactory.
      • isWritable

        public boolean isWritable()
                           throws RepositoryException
        Description copied from interface: Repository
        Checks whether this repository is writable, i.e. if the data contained in this repository can be changed. The writability of the repository is determined by the writability of the Sail that this repository operates on.
        Specified by:
        isWritable in interface Repository
        Throws:
        RepositoryException
      • setDataDir

        public void setDataDir​(File dataDir)
        Description copied from interface: Repository
        Set the directory where data and logging for this repository is stored.
        Specified by:
        setDataDir in interface Repository
        Parameters:
        dataDir - the directory where data for this repository is stored
      • setUsernameAndPassword

        public void setUsernameAndPassword​(String username,
                                           String password)
        Set the username and password to use for authenticating with the remote repository.
        Parameters:
        username - the username. Setting this to null will disable authentication.
        password - the password. Setting this to null will disable authentication.
      • getAdditionalHttpHeaders

        public Map<String,​String> getAdditionalHttpHeaders()
        Get the additional HTTP headers which will be used
        Returns:
        a read-only view of the additional HTTP headers which will be included in every request to the server.
      • setAdditionalHttpHeaders

        public void setAdditionalHttpHeaders​(Map<String,​String> additionalHttpHeaders)
        Set additional HTTP headers to be included in every request to the server, which may be required for certain unusual server configurations. This will only take effect on connections subsequently returned by getConnection().
        Parameters:
        additionalHttpHeaders - a map containing pairs of header names and values. May be null
      • enableQuadMode

        public void enableQuadMode​(boolean flag)
        Activate quad mode for this SPARQLRepository, i.e. for retrieval of statements also retrieve the graph.

        Note: the setting is only applied in newly created SPARQLConnections as the setting is an immutable configuration of a connection instance.

        Parameters:
        flag - flag to enable or disable the quad mode
        See Also:
        SPARQLConnection#getStatements(org.eclipse.rdf4j.model.Resource, org.eclipse.rdf4j.model.URI, org.eclipse.rdf4j.model.Value, boolean, org.eclipse.rdf4j.model.Resource...)
      • setPassThroughEnabled

        public void setPassThroughEnabled​(Boolean passThroughEnabled)
        Set the passThroughEnabled configuration. Changing this will influence behavior of any new RepositoryConnections, but not of existing ones.
        Parameters:
        passThroughEnabled - the passThroughEnabled to set
        See Also:
        SPARQLProtocolSession#setPassThroughEnabled()