Skip to end of metadata
Go to start of metadata

Vocabulary:

  • BASE_URI - base URI of service, for example http://example.org/wf4ever/
  • WORKSPACE_ID - identifier of a workspace in the RO SRS
  • RO_ID - RO identifier - assigned automatically by the service
  • RO_VERSION_ID - identifier of version of RO - defined by the user

Please note:

  • Error codes 401 (Not Authorized), 404 (Not Found) and 500 (Internal Server Error) can be returned as a response to any request described below. As their meaning is obvious, they are omitted in the interface description below.
  • Successful DELETE returns 204 (No Content) response code.

Interface:

BASE_URI/workspaces/WORKSPACE_ID

  • GET - not allowed
  • PUT - creates new workspace with given WORKSPACE_ID
    • input: workspace password
    • output: 201 (Created) when the workspace was successfully created
    • possible errors: 409 (Conflict) if the WORKSPACE_ID is already used
  • POST - not allowed
  • DELETE - deletes the workspace

BASE_URI/workspaces/WORKSPACE_ID/ROs

  • GET - returns list of links to research objects. Output format is TBD.
  • PUT - not allowed
  • POST - not allowed
  • DELETE - not allowed

BASE_URI/workspaces/WORKSPACE_ID/ROs/RO_ID

  • GET - returns list of versions of this research object.
    • output: 200 (OK) response code with a rdf file in response body containing OAI-ORE aggreagates tags.
  • PUT - creates new RO with given RO_ID
    • output: 201 (Created) when the RO was successfully created
    • possible errors: 409 (Conflict) if the RO_ID is already used in the WORKSPACE_ID workspace
  • POST - not allowed
  • DELETE - deletes the research object.

BASE_URI/workspaces/WORKSPACE_ID/ROs/RO_ID/RO_VERSION_ID

  • GET - returns specified version of RO. Output format is chosen by content negotiation and is either: zip archive with all files from RO or rdf file with list of files in RO.
  • PUT - not allowed
  • POST - creates new version
    • input: optionally - URI of the base version that should be used to create a new version
    • output: 201 (Created) if the version was created
    • possible errors: 409 (Conflict) if version with given RO_VERSION_ID already exists
  • DELETE - deletes this version of research object

BASE_URI/workspaces/WORKSPACE_ID/ROs/RO_ID/RO_VERSION_ID/manifest.rdf

  • GET - returns manifest.rdf of given version of RO.
  • PUT - not allowed
  • POST - used for updating manifest.rdf file.
    • input: manifest.rdf in request body
    • output: 200 (OK) response code if the descriptive metadata was successfully updated
    • possible errors: 400 (Bad Request) if manifest.rdf is not well-formed, 409 (Conflict) if manifest.rdf contains incorrect data (for example, one of required tags is missing).
  • DELETE - not allowed

BASE_URI/workspaces/WORKSPACE_ID/ROs/RO_ID/RO_VERSION_ID/any/other/file

  • GET - returns requested file metadata. If requested URI leads to a directory, returns rdf file with list of files in this directory.
    • parameters: content - if this optional parameter will be added to the query, instead of the metadata of the file, the file content will be returned
  • PUT - not allowed
  • POST - used for adding and updating files, also results in the manifest.rdf modification (the part with the structural metadata).
    • input: file in request body
    • output: 200 (OK) response code if the file was successfully created/updated
    • possible errors: 400 (Bad Request) if request has empty body - this means that empty directories are not supported
  • DELETE - used for removing files from research object, also results in the manifest.rdf modification (the part with the structural metadata).
  • No labels