Awesome
Scientific Citation Extension Specification
- Title: Scientific Citation
- Identifier: https://stac-extensions.github.io/scientific/v1.0.0/schema.json
- Field Name Prefix: sci
- Scope: Item, Collection
- Extension Maturity Classification: Stable
- Owner: @m-mohr
- History: Prior to March 30, 2021
This document explains the Scientific Extension to the SpatioTemporal Asset Catalog (STAC) specification.
This extension adds the ability to indicate from which publication data originates and how the data itself should be cited or referenced. Overall, it helps to increase reproducibility and citability.
Human-readable references and DOIs can be used in this extension. DOIs are persistent digital interoperable identifier that uniquely identify for digital publications. They can be registered at registration agencies affiliated with the International DOI Foundation.
This extension applies to STAC Item and STAC Collections. As these citation information are often closely bound to the Collection level and therefore are shared across all items, it is recommended adding the fields to the corresponding Collection.
- Examples:
- Item: The extension in a STAC Item
- Collection: The extension in a STAC Collection
- Collection (Assets): The extension in a STAC Collection with assets
- Collection (Item Asset Definition): The extension in a STAC Collection in Item Asset Defintions
- Collection (Summaries): The extension in a STAC Collection in Summaries
- JSON Schema
- Changelog
Item Properties and Collection Fields
For Items, the fields are placed in the properties
. For Collections, the fields are placed on the top level of the Collection.
Field Name | Type | Description |
---|---|---|
sci:doi | string | The DOI of the data, e.g. 10.1000/xyz123 . This MUST NOT be a DOIs link. For all DOI names respective DOI links SHOULD be added to the links section (see chapter "Relation types"). |
sci:citation | string | The recommended human-readable reference (citation) to be used by publications citing the data. No specific citation style is suggested, but the citation should contain all information required to find the publication distinctively. |
sci:publications | [Publication Object] | List of relevant publications referencing and describing the data. |
At least one of the fields must be specified.
Publication Object
Field Name | Type | Description |
---|---|---|
doi | string | The DOI of a publication referencing the data. This MUST NOT be a DOIs link. |
citation | string | Citation of a publication referencing the data. |
doi - The DOI name of a publication which describes and references the data. The publications should include more information about the data and how it was processed. This MUST NOT be a DOI link. For all DOI names respective DOI links SHOULD be added to the links section (see chapter "Relation types").
citation - Human-readable reference (citation) of a publication which describes and references the data. The publications should include more information about the data and how it was processed. No specific citation style is suggested, but a citation should contain all information required to find the publication distinctively.
Relation types
The following types should be used as applicable rel
types in the
Link Object.
Type | Description |
---|---|
cite-as | A DOI link SHOULD be added to the links section for the publication referenced by the sci:doi property with the rel type cite-as (see the RFC 8574). |
Contributing
All contributions are subject to the STAC Specification Code of Conduct. For contributions, please follow the STAC specification contributing guide Instructions for running tests are copied here for convenience.
Running tests
The same checks that run as checks on PR's are part of the repository and can be run locally to verify that changes are valid.
To run tests locally, you'll need npm
, which is a standard part of any node.js installation.
First you'll need to install everything with npm once. Just navigate to the root of this repository and on your command line run:
npm install
Then to check markdown formatting and test the examples against the JSON schema, you can run:
npm test
This will spit out the same texts that you see online, and you can then go and fix your markdown or examples.
If the tests reveal formatting problems with the examples, you can fix them with:
npm run format-examples