Research Objects Digital Library
- 1 Introduction
- 2 Implementation
- 3 REST interface specifications
- 4 Wf4Ever models implementation considerations
- 5 Portal
- 6 Mapping between RO structure and internal dLibra data model
- 7 Software libraries used
- 8 Deployment instructions
This document contains a specification of the services offered by the Research Object Digital Library. The main one is Research Object Storage and Retrieval Service (ROSRS). The main functionality of the service is to allow its users to store and retrieve Research Objects. Other services include the User Management Service.
The RODL is built on top of dLibra. dLibra provides file storage and retrieval functionalities, including file versioning and consistency checking. It has a built-in text search engine, fed by its own flexible metadata system, and it manages users and controls their access rights. Besides, dLibra allows organising stored objects into hierarchical structures and associating metadata at the level of object aggregations.
A dedicated Semantic Metadata Service has been included in RODL to give support to the Research Object model. This service manages an RDF triplestore and allows storage and retrieval of any type of RO metadata, in particular structured semantic annotations, classes of resources and relations between them.
RODL offers preservation services for workflows. These services take into account the decay of workflows due to changes in the external resources on which they depend – data sources or web services can disappear, malfunction or change their interface. A number of services, such as research object completeness and stability evaluation services, have already been implemented.
RODL services expose their functionality by means of a REST API. The API is accessed by software clients, which include applications that facilitate registering users and managing their access rights or support browsing the contents of RODL and connect it with other services. In particular, RODL is being used to extend the workflow preservation capabilities of myExperiment, where users can export their content to RODL as Research Objects. An interface for RODL in myExperiment is being developed so that the users can navigate through their Research Objects preserved in RODL and take advantage of its functionalities.
REST interface specifications
Wf4Ever models implementation considerations
Version 5 of RODL implements ?Research Object Vocabulary Specification v0.1. It implements all the concepts related to resource aggregations and annotations. It offers no support for folders (ro:Folder).
Version 5 of RODL does not implement the ?RO evolution model.
Apart from RESTful services, the Research Object Digital Library includes a web application for exploring the content of the digital library and testing the most up-to-date implementations of the Wf4Ever models.
Mapping between RO structure and internal dLibra data model
Until RODL 5, research objects belonged to workspaces and had versions. Starting from RODL 5, shorter URIs are used. For backwards compatibility, workspaces and versions are still used internally - workspace "default" and version "v1" is assumed.
Version of Research Object
Publication with single edition which content is modified every
Whenever a manifest or annotation is created, it is scanned for statements about the research object itself. Such statements are added to dLibra as RO attributes, which are later used for indexing and search.
Software libraries used
The service is a servlet based application built using the Jersey framework.
Jena framework is used to handle RDF files. NG4J is used for handling named graphs.
Portal is built using Apache Wicket.
The source code is available at git://github.com/wf4ever/rosrs.git.
dLibra server location and directory used for storing workspaces should be configured in src\main\resources\connection.properties file. A dLibra instance used for demonstration purposes is available at host sandbox.wf4ever-project.org (port number 10051 and directory 3, as originally configured).
That's all, now the project can be built (mvn package) and deployed (rosrs5 servlet).