Class Protocol


  • public abstract class Protocol
    extends Object
    • Field Detail

      • CACHE_TIMEOUT_PROPERTY

        public static final String CACHE_TIMEOUT_PROPERTY
        Configurable system property rdf4j.server.txn.registry.timeout for specifying the transaction cache timeout (in seconds).
        See Also:
        Constant Field Values
      • DEFAULT_TIMEOUT

        public static final int DEFAULT_TIMEOUT
        Default timeout setting for transaction cache entries (in seconds).
        See Also:
        Constant Field Values
      • VERSION

        public static final String VERSION
        Protocol version.
        • 12: since RDF4J 3.5.0
        • 11: since RDF4J 3.3.0
        • 10: since RDF4J 3.1.0
        • 9: since RDF4J 3.0.0
        See Also:
        Constant Field Values
      • SUBJECT_PARAM_NAME

        public static final String SUBJECT_PARAM_NAME
        Parameter name for the 'subject' parameter of a statement query.
        See Also:
        Constant Field Values
      • PREDICATE_PARAM_NAME

        public static final String PREDICATE_PARAM_NAME
        Parameter name for the 'predicate' parameter of a statement query.
        See Also:
        Constant Field Values
      • OBJECT_PARAM_NAME

        public static final String OBJECT_PARAM_NAME
        Parameter name for the 'object' parameter of statement query.
        See Also:
        Constant Field Values
      • INCLUDE_INFERRED_PARAM_NAME

        public static final String INCLUDE_INFERRED_PARAM_NAME
        Parameter name for the 'includeInferred' parameter.
        See Also:
        Constant Field Values
      • CONTEXT_PARAM_NAME

        public static final String CONTEXT_PARAM_NAME
        Parameter name for the context parameter.
        See Also:
        Constant Field Values
      • GRAPH_PARAM_NAME

        public static final String GRAPH_PARAM_NAME
        Parameter name for the graph parameter.
        See Also:
        Constant Field Values
      • UPDATE_PARAM_NAME

        public static final String UPDATE_PARAM_NAME
        Parameter name for the update parameter.
        See Also:
        Constant Field Values
      • BASEURI_PARAM_NAME

        public static final String BASEURI_PARAM_NAME
        Parameter name for the base-URI parameter.
        See Also:
        Constant Field Values
      • QUERY_PARAM_NAME

        public static final String QUERY_PARAM_NAME
        Parameter name for the query parameter.
        See Also:
        Constant Field Values
      • QUERY_LANGUAGE_PARAM_NAME

        public static final String QUERY_LANGUAGE_PARAM_NAME
        Parameter name for the query language parameter.
        See Also:
        Constant Field Values
      • REMOVE_GRAPH_PARAM_NAME

        public static final String REMOVE_GRAPH_PARAM_NAME
        Parameter name for the default remove graph URI parameter.
        See Also:
        Constant Field Values
      • INSERT_GRAPH_PARAM_NAME

        public static final String INSERT_GRAPH_PARAM_NAME
        Parameter name for the default insert graph URI parameter.
        See Also:
        Constant Field Values
      • USING_GRAPH_PARAM_NAME

        public static final String USING_GRAPH_PARAM_NAME
        Parameter name for the default graph URI parameter for update.
        See Also:
        Constant Field Values
      • USING_NAMED_GRAPH_PARAM_NAME

        public static final String USING_NAMED_GRAPH_PARAM_NAME
        Parameter name for the named graph URI parameter for update.
        See Also:
        Constant Field Values
      • DEFAULT_GRAPH_PARAM_NAME

        public static final String DEFAULT_GRAPH_PARAM_NAME
        Parameter name for the default graph URI parameter.
        See Also:
        Constant Field Values
      • NAMED_GRAPH_PARAM_NAME

        public static final String NAMED_GRAPH_PARAM_NAME
        Parameter name for the named graph URI parameter.
        See Also:
        Constant Field Values
      • ACCEPT_PARAM_NAME

        public static final String ACCEPT_PARAM_NAME
        Parameter name for the Accept parameter (may also be used as the name of the Accept HTTP header).
        See Also:
        Constant Field Values
      • TRANSACTION_SETTINGS_PREFIX

        public static final String TRANSACTION_SETTINGS_PREFIX
        Prefix for transaction settings in the query param
        Since:
        3.3.0
        See Also:
        Constant Field Values
      • ACTION_PARAM_NAME

        public static final String ACTION_PARAM_NAME
        Parameter name for the action parameter used in transactions.
        See Also:
        Constant Field Values
      • DISTINCT_PARAM_NAME

        public static final String DISTINCT_PARAM_NAME
        Parameter name for the distinct parameter.
        See Also:
        Constant Field Values
      • REPOSITORIES

        public static final String REPOSITORIES
        Relative location of the repository list resource.
        See Also:
        Constant Field Values
      • STATEMENTS

        public static final String STATEMENTS
        Relative location of the statement list resource of a repository.
        See Also:
        Constant Field Values
      • TRANSACTIONS

        public static final String TRANSACTIONS
        Relative location of the transaction resources of a repository.
        See Also:
        Constant Field Values
      • CONTEXTS

        public static final String CONTEXTS
        Relative location of the context list resource of a repository.
        See Also:
        Constant Field Values
      • NAMESPACES

        public static final String NAMESPACES
        Relative location of the namespaces list resource of a repository.
        See Also:
        Constant Field Values
      • BINDING_PREFIX

        public static final String BINDING_PREFIX
        Parameter prefix for query-external variable bindings.
        See Also:
        Constant Field Values
      • TXN_MIME_TYPE

        public static final String TXN_MIME_TYPE
        MIME type for transactions: application/x-rdftransaction.
        See Also:
        Constant Field Values
      • FORM_MIME_TYPE

        public static final String FORM_MIME_TYPE
        MIME type for www forms: application/x-www-form-urlencoded.
        See Also:
        Constant Field Values
      • SPARQL_QUERY_MIME_TYPE

        public static final String SPARQL_QUERY_MIME_TYPE
        MIME type for SPARQL update: application/sparql-query.
        See Also:
        Constant Field Values
      • SPARQL_UPDATE_MIME_TYPE

        public static final String SPARQL_UPDATE_MIME_TYPE
        MIME type for SPARQL update: application/sparql-update.
        See Also:
        Constant Field Values
      • PRESERVE_BNODE_ID_PARAM_NAME

        public static final String PRESERVE_BNODE_ID_PARAM_NAME
        Parameter for server instruction to preserve blank node ids when parsing request data.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Protocol

        public Protocol()
    • Method Detail

      • getProtocolLocation

        public static final String getProtocolLocation​(String serverLocation)
        Get the location of the protocol resource on the specified server.
        Parameters:
        serverLocation - the base location of a server implementing this REST protocol.
        Returns:
        the location of the protocol resource on the specified server
      • getConfigLocation

        public static final String getConfigLocation​(String serverLocation)
        Get the location of the server configuration resource on the specified server.
        Parameters:
        serverLocation - the base location of a server implementing this REST protocol.
        Returns:
        the location of the server configuration resource on the specified server
      • getRepositoriesLocation

        public static final String getRepositoriesLocation​(String serverLocation)
        Get the location of the repository list resource on the specified server.
        Parameters:
        serverLocation - the base location of a server implementing this REST protocol.
        Returns:
        the location of the repository list resource on the specified server
      • getRepositoryLocation

        public static final String getRepositoryLocation​(String serverLocation,
                                                         String repositoryID)
        Get the location of a specific repository resource on the specified server.
        Parameters:
        serverLocation - the base location of a server implementing this REST protocol.
        repositoryID - the ID of the repository
        Returns:
        the location of a specific repository resource on the specified server
      • getRepositoryConfigLocation

        public static final String getRepositoryConfigLocation​(String repositoryLocation)
        Get the location of the config of a specific repository resource.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        Returns:
        the location of the configuration resource for the specified repository
      • getStatementsLocation

        public static final String getStatementsLocation​(String repositoryLocation)
        Get the location of the statements resource for a specific repository.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        Returns:
        the location of the statements resource for the specified repository
      • getTransactionsLocation

        public static final String getTransactionsLocation​(String repositoryLocation)
        Get the location of the transaction resources for a specific repository.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        Returns:
        the location of the transaction resources for the specified repository
      • getServerLocation

        public static final String getServerLocation​(String repositoryLocation)
        Extracts the server location from the repository location.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        Returns:
        the location of the server resource for the specified repository.
      • getRepositoryID

        public static final String getRepositoryID​(String repositoryLocation)
        Extracts the repository ID from the repository location.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        Returns:
        the ID of the repository.
      • getContextsLocation

        public static final String getContextsLocation​(String repositoryLocation)
        Get the location of the contexts lists resource for a specific repository.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        Returns:
        the location of the contexts lists resource for the specified repository
      • getNamespacesLocation

        public static final String getNamespacesLocation​(String repositoryLocation)
        Get the location of the namespaces lists resource for a specific repository on the specified server.
        Parameters:
        repositoryLocation - the base location of a server implementing this REST protocol.
        Returns:
        the location of the namespaces lists resource for a specific repository on the specified server
      • getNamespacePrefixLocation

        public static final String getNamespacePrefixLocation​(String repositoryLocation,
                                                              String prefix)
        Get the location of the namespace with the specified prefix for a specific repository on the specified server.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        prefix - the namespace prefix
        Returns:
        the location of the the namespace with the specified prefix for a specific repository on the specified server
      • getSizeLocation

        public static final String getSizeLocation​(String repositoryLocation)
        Get the location of the 'size' resource for a specific repository on the specified server.
        Parameters:
        repositoryLocation - the location of a repository implementing this REST protocol.
        Returns:
        the location of the 'size' resource for a specific repository on the specified server
      • encodeValue

        public static String encodeValue​(Value value)
        Encodes a value in a canonical serialized string format, for use in a URL query parameter.
        Parameters:
        value - The value to encode, possibly null.
        Returns:
        The protocol-serialized representation of the supplied value, or NULL_PARAM_VALUE if the supplied value was null.
      • decodeValue

        public static Value decodeValue​(String encodedValue,
                                        ValueFactory valueFactory)
        Decode a previously encoded value.
        Parameters:
        encodedValue - the encoded value
        valueFactory - the factory to use for constructing the Value
        Returns:
        the decoded Value
        See Also:
        encodeValue(Value)
      • decodeResource

        public static Resource decodeResource​(String encodedValue,
                                              ValueFactory valueFactory)
        Decode a previously encoded Resource.
        Parameters:
        encodedValue - the encoded value
        valueFactory - the factory to use for constructing the Resource
        Returns:
        the decoded Resource
        See Also:
        encodeValue(Value)
      • decodeURI

        public static IRI decodeURI​(String encodedValue,
                                    ValueFactory valueFactory)
        Decode a previously encoded URI.
        Parameters:
        encodedValue - the encoded value
        valueFactory - the factory to use for constructing the URI
        Returns:
        the decoded URI
        See Also:
        encodeValue(Value)
      • encodeContext

        public static String encodeContext​(Resource context)
        Encodes a context resource for use in a URL.
        Parameters:
        context - The context to encode, possibly null.
        Returns:
        The protocol-serialized representation of the supplied context, or NULL_PARAM_VALUE if the supplied value was null.
      • decodeContext

        public static Resource decodeContext​(String encodedValue,
                                             ValueFactory valueFactory)
        Decode a previously encoded context Resource.
        Parameters:
        encodedValue - the encoded value
        valueFactory - the factory to use for constructing the Resource
        Returns:
        the decoded Resource, or null if the encoded values was null or equal to NULL_PARAM_VALUE
      • encodeContexts

        public static String[] encodeContexts​(Resource... contexts)
        Encode context resources for use in a URL.
        Parameters:
        contexts - the contexts to encode, must not be null.
        Returns:
        the encoded contexts
        Throws:
        IllegalArgumentException - If the contexts is null.
      • decodeContexts

        public static Resource[] decodeContexts​(String[] encodedValues,
                                                ValueFactory valueFactory)
        Decode previously encoded contexts.
        Parameters:
        encodedValues - the encoded values
        valueFactory - the factory to use for constructing the Resources
        Returns:
        the decoded Resources, or an empty array if the supplied encodedValues was null.