TODO add link to full changes on github
If you are currently using Nexus Delta from 1.8.x, please visit the @ref:migration instructions for the necessary steps to successfully upgrade.
Those three links are returned in the response of operations related to the different resources. Until 1.9, they were curied/shortened according to the base and the API mappings defined in the project configuration.
This caused consistency problems as whenever the base or the API mapping were changing, those shortened links were not valid anymore:
- All data in views displaying metadata (which include those links) had to be indexed again ;
- The change had also to be propagated to other external systems ;
- The resources including download links to files had to be patched
Therefore since 1.9, _self
, _incoming
and outgoing
links are not shortened anymore allowing them to remain stable in
time even if the project configuration changes.
Multiple resources can now be retrieved within a single call with the multi-fetch operation.
@ref:More information
Until 1.9, operations about resources were resulting in writes in the primary store and indexing in the knowledge graph. However, users may also want to first experiment/refine/polish/validate a resource and schema and only create/update the resource when they are happy with it.
@ref:More information
It is now forbidden for JSON payloads to contain fields beginning with underscore (_). This can be disabled be setting app.resources.decoding-option
to lenient
, however it is not recommended as specification of this data in payloads can have unexpected consequences in both data and the user-interface
Listings by types can now be controlled with the typeOperator
query parameter. Possible values are or
and and
, which will match any and all types, respectively.
It is now possible to aggregate resources by @type
or project
.
This feature is also available on files, resolvers, schemas, storages, and views.
@ref:More information
When creating/updating a resource, Nexus Delta now keeps track of the remote contexts that have been resolved during the operation.
@ref:More information
The schema of a resource can now be changed:
- When performing a @ref:resource update, it is possible to specify a new schema.
- A dedicated endpoint to only change the schema without providing any payload is available.
@ref:More information about the dedicated endpoint
Create and update operations on resources accept now an optional tag allowing to tag the resulting resource in the same call.
@ref:More information
Previously deprecated resources can now be undeprecated.
@ref:More information
Indexing errors can now be listed and filtered for a given view.
@ref:More information
To improve indexing performance, the types defined in the @ref:FilterByType pipe, @ref:Sparql View payload, or the @ref:Composite View source payload are filtered in PostgreSQL rather than in Nexus Delta. This avoids querying for data just to discard it straight away.
The different requests to Elasticsearch are now compressed by default allowing to reduce the I/Os especially during indexing.
New features enhance performance of indexing of composite views, as well as authentication changes for views which incorporate projects on remote Delta instances
Construct queries to the intermediate space can now be batched.
@ref:More information
When a composite view is updated, a diff is performed and only the necessary spaces are reindexed.
For example, if a source is added/updated/removed, all the spaces (intermediate space and projection spaces) get reindexed. However if a projection is added/updated/removed, now only the space related to this projection is reindexed which reduces the number of operations and consequently speed up the indexing.
Preserving the intermediate space also reduces the fragmentation of the Blazegraph journal.
@ref:More information
Rather than storing an auth token in the composite view, it is now expected to specify an authentication method in the Delta configuration
@ref:More information
This field was never used so as there is no plan for it, it is now removed.
The Elasticsearch mapping of an Elasticsearch View can be retrieved.
@ref:More information
Files can be added to an archive using a _self
.
@ref:More information
Annotated source is now available as an output format when creating an archive.
@ref:More information
Creating an archive now requires only the resources/read
permission instead of archives/write
.
Tarball archives are no longer supported due to unnecessary restrictions. ZIP is now the only allowed format and clients should send application/zip
in the Accept
header when creating archives.
Previously it was only possible to deprecate organizations at a specific revision. Now organizations containing no projects can be deleted by specifying a prune parameter: DELETE /v1/org/{label}?prune=true
@ref:More information
Storages can no longer be created with credentials that would get stored:
- For S3 storages, this would be
accessKey
/secretKey
. - For remote storages, this means
credentials
.
These should instead be defined in the Delta configuration.
@ref:More information
Previously deprecated files can now be undeprecated.
@ref:More information
The automatic detection of the media type can now be customized at the Delta level.
NB: The media type provided by the user still prevails over automatic detection.
@ref:More information
Create and update operations on files accept now an optional tag allowing to tag the resulting file in the same call.
@ref:More information
The Elasticsearch views behind Graph analytics can now be queried using the _search
endpoint.
@ref:More information
Remote contexts used during the JSON-LD resolution for a resource are now indexed in the Graph analytics views and can be found via the @ref:search endpoint
@ref:More information
It is now possible to perform ID resolution by providing only the identifier of a resource.
@ref:More information
It is now possible to query whether the current logged in user has a specific permission in a specific context.
@ref:More information
TODO
The Nexus storage app also benefits from the changes about automatic file detection.
@ref:More information
This callback has been replaced by a local validation of the token.
TODO