WG Research Data Collections Draft outputs of a RDA bottom-up effort P9 - April 2017 Co-chairs: Bridget Almas, Frederik Baumgardt, Tobias Weigel, Thomas Zastrow www.rd-alliance.org - @resdatall CC BY-SA 4.0
Motivation for Research Data Collections (Research) data management beyond single objects Not just describe collections, but enable actions on them Create, Read, Update, Delete, List plus some others Machine agents as primary users Contribute an essential component to the Data Fabric Provide a cornerstone API specification against which tools and services can be built across community boundaries
Design considerations Key requirements: Favor limited functionality over support for use case details Offer extension points Use by machine agents primarily No constraints on particular back-ends No mandatory use of PIDs (supported, but optional)
API: Structure
API: Service Features GET /features
API: Collections Create/Read/Update/Delete/List LIST GET /collections CREATE POST /collections READ GET /collections/{id} UPDATE PUT /collections/{id} DELETE DELETE /collections/{id}
API: Collection Member CRUD/L LIST GET /collections/{id}/members CREATE POST /collections/{id}/members READ GET /collections/{id}/members/{mid} UPDATE PUT /collections/{id}/members/{mid} DELETE DELETE /collections/{id}/members/{mid}
Building bridges: Interfacing Clients: able to interact with compatible endpoints, independent of provider/community/infrastructure concerns Servers: able to provide a basic interface, but still tailored (service features) can also extend beyond API specification https://rd-alliance.org/ - https://twitter.com/resdatall
Current implementations and use cases REPTOR: data repository, also covering DTR and DFT recommendations Tufts: Python/Flask implementation for Perseids Project backends for file system, RDF/LDP, MongoDB iDigBio: Python and redis-based Use cases: Perseids, iDigBio, GEOFON, DKRZ/CMIP6, CAU Kiel/IGSN – more are welcome! https://rd-alliance.org/ - https://twitter.com/resdatall
Next steps: Feedback is essential! Final recommendation to be available at P10 Specification scope is now fixed – no further extensions Further testing and feedback on the implementations Finalize specification after feedback from use cases and potential adopters Assemble accompanying report, publish together with specification
https://rd-alliance.org/ - https://twitter.com/resdatall Backup slides https://rd-alliance.org/ - https://twitter.com/resdatall
Collection properties Description Collection Object persistent dynamic < IDENTIFIER > + Collection state Membership Capabilities Mapping function Collection properties Description is a Metadata set of actions < IDENTIFIER > + Collection state Set of item identifiers < IDENTIFIER > Item metadata < IDENTIFIER > + Collection state … + ... explicitly defined (naming all identifiers) implicitly defined (generation rule)