Research Objects (ROs) are semantic aggregations of related scientific resources, along with their annotations and research context. They provide the means to refer a bundle of research artefacts supporting an investigation, and the mechanisms to associate human and machine-readable metadata to these artefacts. The RO model, implemented as a suite of ontologies, provides the means for capturing and describing such objects, their provenance and lifecycle. Based on the RO model, we have specified and implemented a set of APIs for the management of ROs. These APIs have been developed following a resource-oriented approach in line with Linked Data and REST approaches. The two main APIs are the RO API, which defines the formats and links used to create and maintain ROs in a digital repository, and the RO evolution API, which defines the formats and links used to change the lifecycle stage of ROs and retrieve their evolution provenance. Services and applications can implement one or several of these APIs, like in the case of ROHub, a digital library specialised for ROs, which exposes the two main APIs among others. In this paper, we describe the design and specification of these APIs, how they tackle the lifecycle management of ROs, as well as their implementation and usage in ROHub along with the lessons learned.
['Raúl Palma', 'Piotr Hołubowicz', 'Kevin R. Page', 'Stian Soiland-Reyes', 'Graham Klyne', 'Cezary Mazurek']
A suite of APIs for the management of research objects