org.eclipse.rdf4j.http.protocol

## Class Protocol

- java.lang.Object
- - org.eclipse.rdf4j.http.protocol.Protocol

-     public abstract class Protocol
      extends Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Protocol.Action` Defines the action a particular transaction update is executing.
    `static class` | `Protocol.TIMEOUT` Deprecated.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `ACCEPT_PARAM_NAME` Parameter name for the Accept parameter (may also be used as the name of the Accept HTTP header).
    `static String` | `ACTION_PARAM_NAME` Parameter name for the action parameter used in transactions.
    `static String` | `BASEURI_PARAM_NAME` Parameter name for the base-URI parameter.
    `static String` | `BINDING_PREFIX` Parameter prefix for query-external variable bindings.
    `static String` | `CACHE_TIMEOUT_PROPERTY` Configurable system property `rdf4j.server.txn.registry.timeout` for specifying the transaction cache timeout (in seconds).
    `static String` | `CONFIG` Relative location of the config resource.
    `static String` | `CONTEXT_PARAM_NAME` Parameter name for the context parameter.
    `static String` | `CONTEXTS` Relative location of the context list resource of a repository.
    `static String` | `DEFAULT_GRAPH_PARAM_NAME` Parameter name for the default graph URI parameter.
    `static int` | `DEFAULT_TIMEOUT` Default timeout setting for transaction cache entries (in seconds).
    `static String` | `DISTINCT_PARAM_NAME` Parameter name for the distinct parameter.
    `static String` | `FORM_MIME_TYPE` MIME type for www forms: `application/x-www-form-urlencoded`.
    `static String` | `GRAPH_PARAM_NAME` Parameter name for the graph parameter.
    `static String` | `INCLUDE_INFERRED_PARAM_NAME` Parameter name for the 'includeInferred' parameter.
    `static String` | `INSERT_GRAPH_PARAM_NAME` Parameter name for the default insert graph URI parameter.
    `static String` | `ISOLATION_LEVEL_PARAM_NAME` Deprecated. since 3.3.0. Use `transaction-setting__isolation-level` instead.
    `static String` | `LIMIT_PARAM_NAME`
    `static String` | `NAMED_GRAPH_PARAM_NAME` Parameter name for the named graph URI parameter.
    `static String` | `NAMESPACES` Relative location of the namespaces list resource of a repository.
    `static String` | `NULL_PARAM_VALUE` Parameter value for the NULL context.
    `static String` | `OBJECT_PARAM_NAME` Parameter name for the 'object' parameter of statement query.
    `static String` | `OFFSET_PARAM_NAME`
    `static String` | `PREDICATE_PARAM_NAME` Parameter name for the 'predicate' parameter of a statement query.
    `static String` | `PRESERVE_BNODE_ID_PARAM_NAME` Parameter for server instruction to preserve blank node ids when parsing request data.
    `static String` | `PROTOCOL` Relative location of the protocol resource.
    `static String` | `QUERY_LANGUAGE_PARAM_NAME` Parameter name for the query language parameter.
    `static String` | `QUERY_PARAM_NAME` Parameter name for the query parameter.
    `static String` | `REMOVE_GRAPH_PARAM_NAME` Parameter name for the default remove graph URI parameter.
    `static String` | `REPOSITORIES` Relative location of the repository list resource.
    `static String` | `SIZE` Relative location of the 'size' resource of a repository.
    `static String` | `SPARQL_QUERY_MIME_TYPE` MIME type for SPARQL update: `application/sparql-query`.
    `static String` | `SPARQL_UPDATE_MIME_TYPE` MIME type for SPARQL update: `application/sparql-update`.
    `static String` | `STATEMENTS` Relative location of the statement list resource of a repository.
    `static String` | `SUBJECT_PARAM_NAME` Parameter name for the 'subject' parameter of a statement query.
    `static String` | `TIMEOUT_PARAM_NAME`
    `static String` | `TRANSACTION_SETTINGS_PREFIX` Prefix for transaction settings in the query param
    `static String` | `TRANSACTIONS` Relative location of the transaction resources of a repository.
    `static String` | `TXN_MIME_TYPE` MIME type for transactions: `application/x-rdftransaction`.
    `static String` | `UPDATE_PARAM_NAME` Parameter name for the update parameter.
    `static String` | `USING_GRAPH_PARAM_NAME` Parameter name for the default graph URI parameter for update.
    `static String` | `USING_NAMED_GRAPH_PARAM_NAME` Parameter name for the named graph URI parameter for update.
    `static String` | `VERSION` Protocol version.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Protocol()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Resource` | `decodeContext(String encodedValue, ValueFactory valueFactory)` Decode a previously encoded context Resource.
    `static Resource[]` | `decodeContexts(String[] encodedValues, ValueFactory valueFactory)` Decode previously encoded contexts.
    `static Resource` | `decodeResource(String encodedValue, ValueFactory valueFactory)` Decode a previously encoded Resource.
    `static IRI` | `decodeURI(String encodedValue, ValueFactory valueFactory)` Decode a previously encoded URI.
    `static Value` | `decodeValue(String encodedValue, ValueFactory valueFactory)` Decode a previously encoded value.
    `static String` | `encodeContext(Resource context)` Encodes a context resource for use in a URL.
    `static String[]` | `encodeContexts(Resource... contexts)` Encode context resources for use in a URL.
    `static String` | `encodeValue(Value value)` Encodes a value in a canonical serialized string format, for use in a URL query parameter.
    `static String` | `getConfigLocation(String serverLocation)` Get the location of the server configuration resource on the specified server.
    `static String` | `getContextsLocation(String repositoryLocation)` Get the location of the contexts lists resource for a specific repository.
    `static String` | `getNamespacePrefixLocation(String repositoryLocation, String prefix)` Get the location of the namespace with the specified prefix for a specific repository on the specified server.
    `static String` | `getNamespacesLocation(String repositoryLocation)` Get the location of the namespaces lists resource for a specific repository on the specified server.
    `static String` | `getProtocolLocation(String serverLocation)` Get the location of the protocol resource on the specified server.
    `static String` | `getRepositoriesLocation(String serverLocation)` Get the location of the repository list resource on the specified server.
    `static String` | `getRepositoryConfigLocation(String repositoryLocation)` Get the location of the config of a specific repository resource.
    `static String` | `getRepositoryID(String repositoryLocation)` Extracts the repository ID from the repository location.
    `static String` | `getRepositoryLocation(String serverLocation, String repositoryID)` Get the location of a specific repository resource on the specified server.
    `static String` | `getServerLocation(String repositoryLocation)` Extracts the server location from the repository location.
    `static String` | `getSizeLocation(String repositoryLocation)` Get the location of the 'size' resource for a specific repository on the specified server.
    `static String` | `getStatementsLocation(String repositoryLocation)` Get the location of the statements resource for a specific repository.
    `static String` | `getTransactionsLocation(String repositoryLocation)` Get the location of the transaction resources for a specific repository.

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

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

- - ### 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

    - #### NULL_PARAM_VALUE

          public static final String NULL_PARAM_VALUE

      Parameter value for the NULL context.
      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

    - #### LIMIT_PARAM_NAME

          public static final String LIMIT_PARAM_NAME

      See Also:
        Constant Field Values

    - #### OFFSET_PARAM_NAME

          public static final String OFFSET_PARAM_NAME

      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

    - #### TIMEOUT_PARAM_NAME

          public static final String TIMEOUT_PARAM_NAME

      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

    - #### ISOLATION_LEVEL_PARAM_NAME

          @Deprecated
          public static final String ISOLATION_LEVEL_PARAM_NAME

      Deprecated. since 3.3.0. Use `transaction-setting__isolation-level` instead.
      Parameter name for the isolation level used in transactions.
      See Also:
        `TRANSACTION_SETTINGS_PREFIX`, 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

    - #### PROTOCOL

          public static final String PROTOCOL

      Relative location of the protocol resource.
      See Also:
        Constant Field Values

    - #### CONFIG

          public static final String CONFIG

      Relative location of the config resource.
      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

    - #### SIZE

          public static final String SIZE

      Relative location of the 'size' resource of a repository.
      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`.

Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.