Class Protocol

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

public abstract class Protocol extends Object
  • Field Details

    • 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:
    • DEFAULT_TIMEOUT

      public static final int DEFAULT_TIMEOUT
      Default timeout setting for transaction cache entries (in seconds).
      See Also:
    • 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:
    • SUBJECT_PARAM_NAME

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

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

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

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

      public static final String CONTEXT_PARAM_NAME
      Parameter name for the context parameter.
      See Also:
    • NULL_PARAM_VALUE

      public static final String NULL_PARAM_VALUE
      Parameter value for the NULL context.
      See Also:
    • GRAPH_PARAM_NAME

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

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

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

      public static final String QUERY_PARAM_NAME
      Parameter name for the query parameter.
      See Also:
    • LIMIT_PARAM_NAME

      public static final String LIMIT_PARAM_NAME
      See Also:
    • OFFSET_PARAM_NAME

      public static final String OFFSET_PARAM_NAME
      See Also:
    • QUERY_LANGUAGE_PARAM_NAME

      public static final String QUERY_LANGUAGE_PARAM_NAME
      Parameter name for the query language parameter.
      See Also:
    • TIMEOUT_PARAM_NAME

      public static final String TIMEOUT_PARAM_NAME
      See Also:
    • REMOVE_GRAPH_PARAM_NAME

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

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

      public static final String USING_GRAPH_PARAM_NAME
      Parameter name for the default graph URI parameter for update.
      See Also:
    • 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:
    • DEFAULT_GRAPH_PARAM_NAME

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

      public static final String NAMED_GRAPH_PARAM_NAME
      Parameter name for the named graph URI parameter.
      See Also:
    • 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:
    • 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

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

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

      public static final String DISTINCT_PARAM_NAME
      Parameter name for the distinct parameter.
      See Also:
    • PROTOCOL

      public static final String PROTOCOL
      Relative location of the protocol resource.
      See Also:
    • CONFIG

      public static final String CONFIG
      Relative location of the config resource.
      See Also:
    • REPOSITORIES

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

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

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

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

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

      public static final String BINDING_PREFIX
      Parameter prefix for query-external variable bindings.
      See Also:
    • SIZE

      public static final String SIZE
      Relative location of the 'size' resource of a repository.
      See Also:
    • TXN_MIME_TYPE

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

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

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

      public static final String SPARQL_UPDATE_MIME_TYPE
      MIME type for SPARQL update: application/sparql-update.
      See Also:
    • 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:
  • Constructor Details

    • Protocol

      public Protocol()
  • Method Details

    • 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:
    • 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:
    • 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:
    • 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.