DataONE RESTful API
Dryad is a member node in the DataONE network. DataONE is an NSF-funded DataNet, a distributed organization that aims to provide persistent, robust, and secure access to well-described and easily discovered data from from the genome to the ecosystem, including Earth observational data from atmospheric, ecological, hydrological, and oceanographic sources.
- 1 Usage
- 2 Workflow
- 3 Configuration
- 4 Testing
- 5 Registration and Certificates
- 6 Updating Node Configuration
- 7 Relation to DSpace
- 8 Relation to DataONE
The standard URL prefix for interacting with Dryad DataONE interface is "mn" (e.g., http://datadryad.org/mn/)
The table below includes the current usage and implementation status.
|getCapabilities()||1||GET / and GET /node|
Identifiers and Versioning
Dryad needs to keep a timestamp as part of the D1 identifier for metadata, since the Dryad metadata can change without changing the Dryad version number.
See the DOI Usage page for information on Dryad's native identifier handling.
When Dryad replicates data from other systems, it will store data and metadata in separate objects, using Dryad metadata for Dryad's internal tracking purposes.
The Member Node module is built and deployed the same way as the regular DSpace implementation. Its code lives in (trunk)/dspace/modules/dataone-mn.
Read the scientific metadata for a data package: https://datadryad.org/mn/object/http://dx.doi.org/10.5061/dryad.8790
Read the internal system metadata for a data package: https://datadryad.org/mn/meta/http://dx.doi.org/10.5061/dryad.8790
Read the scientific metadata for a data file: https://datadryad.org/mn/object/http://dx.doi.org/10.5061/dryad.8790/1
Read the internal system metadata for a data file: https://datadryad.org/mn/meta/http://dx.doi.org/10.5061/dryad.8790/1
Download the content of a data file: https://datadryad.org/mn/object/http://dx.doi.org/10.5061/dryad.8790/1/bitstream
DSpace-native Member Node API Implementation
It is built and deployed the same way as the regular DSpace implementation (see How To Install Dryad).
An example get() call: https://datadryad.org/mn/object/doi%3A10.5061/dryad.20/1
To test the current functionality of the DataONE API, use the DataONE Member Node Tester.
To see how contents are listed in a coordinating node, see the Coordinating Node access point.
Registration and Certificates
The DataONE registration process is documented at:
Sample call for the registration script:
./d1noderegister -f nodeDev.xml -b https://cn-stage.test.dataone.org/cn -E mnTestDRYAD/DataONETestIntCA/certs/urn\:node\:mnTestDRYAD.pem
To test that certificates are installed correctly, use a command like:
openssl s_client -showcerts -connect dev.datadryad.org:https
Updating Node Configuration
To force DataONE to update its configuration for the member node, you can call the Coordinating Node's update method using a command such as:
curl -E /home/dryad/certs/mnDRYAD-2014-05-14/urn_node_DRYAD.pem -X PUT -F "node=@/home/dryad/certs/nodeProd.xml" https://cn.dataone.org/cn/v1/node/urn:node:DRYAD
Relation to DSpace
- We aim to make this work with DSpace as closely as possible, because it is likely that other institutions will want to become member nodes (e.g., UIUC, MIT)
TODO: Releasing Dryad's MN Implementation to General DSpace
- Move settings to config file
- Genericize the metadata output
- Ensure packaging information is not tightly tied into the MN code