Skip to content
This repository has been archived by the owner on Oct 28, 2024. It is now read-only.

Commit

Permalink
Add contributor.roles property (#18)
Browse files Browse the repository at this point in the history
* Updted the spec

* Updated the profile

* Updated wording

* Fixed type

Co-authored-by: Peter Desmet <[email protected]>

* Updated `contributor.roles`

* Updated example

* Update content/docs/specifications/data-package.md

Co-authored-by: Peter Desmet <[email protected]>

---------

Co-authored-by: Peter Desmet <[email protected]>
Co-authored-by: Peter Desmet <[email protected]>
  • Loading branch information
3 people authored Mar 29, 2024
1 parent 7677d60 commit fd74e17
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
13 changes: 9 additions & 4 deletions content/docs/specifications/data-package.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,14 +257,14 @@ The raw sources for this data package. It `MUST` be an array of Source objects.

##### `contributors`

The people or organizations who contributed to this Data Package. It `MUST` be an array. Each entry is a Contributor and `MUST` be an `object`. A Contributor `MUST` have at least one property. A Contributor is RECOMMENDED to have `title` property and MAY contain `givenName`, `familyName`, `path`, `email`, `role`, and `organization` properties. An example of the object structure is as follows:
The people or organizations who contributed to this Data Package. It `MUST` be an array. Each entry is a Contributor and `MUST` be an `object`. A Contributor `MUST` have at least one property. A Contributor is RECOMMENDED to have `title` property and MAY contain `givenName`, `familyName`, `path`, `email`, `roles`, and `organization` properties. An example of the object structure is as follows:

```json
"contributors": [{
"title": "Joe Bloggs",
"email": "[email protected]",
"path": "http://www.bloggs.com",
"role": "author"
"roles": ["creator"]
}]
```

Expand All @@ -273,14 +273,19 @@ The people or organizations who contributed to this Data Package. It `MUST` be a
- `familyName`: familial name that a person inherits, if the contributor is a person.
- `path`: a fully qualified http URL pointing to a relevant location online for the contributor
- `email`: An email address
- `role`: a string describing the role of the contributor. It's `RECOMMENDED` to be one of: `author`, `publisher`, `maintainer`, `wrangler`, and `contributor`. Defaults to `contributor`.
- Note on semantics: use of the "author" property does not imply that that person was the original creator of the data in the data package - merely that they created and/or maintain the data package. It is common for data packages to "package" up data from elsewhere. The original origin of the data can be indicated with the `sources` property - see above.
- `roles`: an array of strings describing the roles of the contributor. A role is `RECOMMENDED` to follow an established vocabulary, such as [DataCite Metadata Schema's contributorRole](https://support.datacite.org/docs/datacite-metadata-schema-v44-recommended-and-optional-properties#7a-contributortype) or [CreDIT](https://credit.niso.org/). Useful roles to indicate are: `creator`, `contact`, `rightsHolder`, and `dataCurator`.
- `organization`: a string describing the organization this contributor is affiliated to.

Use of the "creator" role does not imply that that person was the original creator of the data in the data package - merely that they created and/or maintain the data package. It is common for data packages to "package" up data from elsewhere. The original origin of the data can be indicated with the `sources` property - see above.

References:

- [Citation Style Language](https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html#name-fields)

:::note[Backward Compatibility]
If the `roles` property is not provided a data consumer MUST fall back to using `role` property which was a part of the `v1.0` of the specification. This property has the same semantics but it is a string allowing to specify only a single role.
:::

##### `keywords`

An Array of string keywords to assist users searching for the package in catalogs.
Expand Down
8 changes: 5 additions & 3 deletions profiles/dictionary/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,11 @@ contributor:
title: Organization
description: An organizational affiliation for this contributor.
type: string
role:
type: string
default: contributor
roles:
type: array
minItems: 1
items:
type: string
minProperties: 1
context: Use of this property does not imply that the person was the original
creator of, or a contributor to, the data in the descriptor, but refers to the
Expand Down

0 comments on commit fd74e17

Please sign in to comment.