Outdated version

You are browsing the docs for Nexus v1.5.x, the latest release is available here

v1.2 Release Notes

This is an incremental software release that adds several improvements across the board. The API is backwards compatible to v1.1 and no migrations are required.

Highlights

The goal of this release is to extend the way in which resources can be fetched, allowing multiple resources to be downloaded at once.

Source

Previously a resource could be retrieved as Json-LD (compacted or expanded), DOT and n-triples format. In this release the sub-resource /source is introduced.

This endpoint allows clients to retrieve the original payload posted for that resource. The following resource types support this feature:

  • resources: /v1/resources/{org}/{project}/_/{id}/source
  • schemas: /v1/schemas/{org}/{project}/{id}/source
  • views: /v1/views/{org}/{project}/{id}/source
  • resolvers: /v1/resolvers/{org}/{project}/{id}/source
  • storages: /v1/storages/{org}/{project}/{id}/source

Archives

A new resource type has been introduced on the top level API (archives).

An archive is a collection of resources stored inside an archive file. The archiving format chosen for this purpose is tar (or tarball).

In other words, an archive resource allows a client to select multiple resources and download them all at once in a tar file.

Example:

This example selects the resource with id https://nexus.example.com/myid1 and https://nexus.example.com/myid2 from the current project (myorg/myproj). It also selects the file with id https://nexus.example.com/file1 from the project myorg/my-other-project. For the file, the location in the resulting tar file it is explicitly specified (as other/path/file.png). As a result, a file output.tar will be created on the current directory. This file, once unpacked, contains the 3 selected resources.

curl -L -s -H "Authorization: Bearer $TOKEN" "http://localhost/v1/archives/myorg/myproj" \
  -H "Content-Type: application/json" -H "Accept: */*" \
  -d '{
     "resources" : [
         {
             "@type": "Resource",
             "resourceId": "https://nexus.example.com/myid1"
         },
         {
             "@type": "Resource",
             "resourceId": "https://nexus.example.com/myid2",
             "originalSource": false
         },
         {
             "@type": "File",
             "resourceId": "https://nexus.example.com/file1",
             "project": "myorg/my-other-project",
             "path": "other/path/file.png"
         }       
     ]
  }' -o output.tar

Further information related to archives can be found here

Async. file attributes

The previous release added an asynchronous process that checks for un-computed digests on file resources and performs the computation asynchronously.

In this release we extend that computation to not only update the digest but also the size (bytes) of the file. This process fixes some edge cases, where the size of an archive file was not accurate when linking resources using a RemoteDiskStorage.

Other changes

  • The underlying SHACL validator has been updated to 1.3.0. This version contains some performance optimizations.
  • Other Bug Fixes.