The resource-oriented nature of the Web is well suited to an environment which places value in the fact that control of resources is distributed across a large number of repositories. In such an environment, it makes sense to take a pass-by-reference approach to interaction between different networked services, rather than relying on machine or human mediated processes to pass copies of resources around the network.
Resources in repositories have stable URIs that can be used for referencing. This means that a request for review can be sent as a standards-based notification that carries a resource’s stable URI to the inbox of a review service. This also means that the review service can obtain the resource that is to be reviewed by visiting that stable URI. From there, the actual resource can be retrieved by following some simple standards-based navigational conventions (e.g., retrieve the full text of a preprint, automatically, from having accessed a landing page describing it). Generally, this means that it becomes possible to invoke and use remote services on the network, by passing instructions to them together with, crucially, URIs identifying particular resources.
Where there is a set of reasonably well understood functions provided by a potentially large range of services, it makes sense to try to encourage the use of standard ways of invoking those functions. Furthermore, where the number and range of services and consumers (repositories) is large, bespoke point-to-point service interactions are unfeasible.
Fortunately, W3C has already developed some very useful standards which may be used to pass notifications between systems such as repositories and other, related service, where those services provide useful functionalities (e.g., annotation, review…) related to the resources held in repositories:
- Linked Data Notifications, providing a standard for a system to send a notification (e.g., a request for some service), often bearing a URI (e.g., identifying a resource in a repository), to a remote system, in an asynchronous fashion
- Activity Stream, providing a machine-readable, semantically standardised way to describe “activities” especially related to interactions with resources on the Web
A prototype has already been developed and was presented by Herbert Van de Sompel and Martin Klein at the meeting convened by COAR in January 2020. Based on a review of the use cases also presented at that meeting, we confirmed that this prototype can generally support a variety of cases, but the key will be to agree on a standard set of vocabularies for the notifications.
This document presents some simple models and vocabularies for using standard notification protocols to achieve common interactions between repositories and overlay peer review services, based on the use cases provided.