DOI Service
The DOI service takes a Dataset CID and returns a DOI.
- It does not take any other input than the CID.
- It ensures data is kept according to archival rules of Good Scientific Practice, in particular:
- the service may decide to copy (pin) the data internally.
- the service should use the attestation service of the participating storage nodes to ascertain the data is kept safe. In this case, the DOI service doesn’t have to store the data.
- The DOI service should create the DOI such that it links to the dataset landing page generated by the Web UI.
- The DOI service must issue a DOI which literally contains the CID to ensure clients can independently verify dataset integrity. I.e. CID
bafybei...would e.g. lead to DOIhttps://doi.org/10.xyz/ipfs/bafybei.... The CID may not be truncated. - The DOI service uses
extract_metadata(CID)(see Dataset) to get required metadata from a given CID. If the function is successful, a DOI will be issued. If it is not successful, no DOI is issued. If users still want a DOI, they’ll first have to fix the data (which will lead to a different CID. - The DOI service should inform the DB-Indexing service that a DOI has been issued for a given CID.
- The DOI service should create a publicly visible log of all DOIs issues so far. This can e.g. be used by the DB-Indexing service or directly by the Web UI to display the availability of a DOI on a landing page.
WPs¶
- implement the DOI service
- run & operate the DOI service