Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rdm: define {crea,contribu}tors schema #11

Merged

Conversation

fenekku
Copy link
Contributor

@fenekku fenekku commented Oct 22, 2019

RFC for "contributors" or "creators" metadata schema.

Here is where the discussion that had formerly been split across

should really go. This is more concrete and will be easiest to get specific feedback.

@tmorrell I have tried to take into account your previous comments. I have also taken the liberty of putting you as an author on the RFC given your insight. Take a look, so we can improve this even more!

"type": "array",
"description": "List of IDs related with the person or org. (e.g., ORCID, RORid)",
"uniqueItems": true,
"items": { "$ref": "#/definitions/identifier" }
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if this syntax is possible to be honest. Maybe "one_of" is necessary...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks right, but I haven't tried it before. I'll add up a validation test of the schema to my to-do list.

@fenekku
Copy link
Contributor Author

fenekku commented Oct 23, 2019

First round of changes made.

"type": "string",
"description": "Kind of identifier.",
"enum": [
"ads",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ads is the same as bibcode (bicode is the official name).

Copy link
Contributor Author

@fenekku fenekku Nov 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So should we remove ads?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ads is from zenodo, while bibcode is from DataCite. If Zendo is alright migrating to bibcode, ads should go.

"description": "Contact email for the purpose of this specific record.",
"format": "email"
},
"full_name": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also need support for family_name and given_names. This is highly important for scholarly works and being able to generate correct citation strings.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about that discussion we had on names: https://www.w3.org/International/questions/qa-personal-names ? How do we tow that line?

"istc",
"lissn",
"lsid",
"orcid",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This list of identifiers I think needs to be specific to the related field. ORCID makes sense for people, but a DOI does not make sense for people. Discussion for IRL

"type": "string"
}
},
"email": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think email should go on the person, but as a possible separate field. It opens up a pandoras box of data protection issues if you store the email associated with the user. I'd rather see e.g. a contact_email field. Also, email addresses have a tendency to go stale after some years especially in research where people move between institutions a lot.

rdm/0011-creators-contributors-metadata.md Outdated Show resolved Hide resolved
"description": "Affiliation(s) (if person) for the purpose of the specific record.",
"uniqueItems": true,
"items": {
"type": "string"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are organizational identifiers (ROR, GRID, etc.) out of scope? I think since we're adding ids anyways (for ORCIDs, etc.), making this a complex object for the affiliation with name and ids might make sense

Copy link

@tmorrell tmorrell Dec 19, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will support organizational identifiers. There is a question of whether these get put into the big ids block below, or separate blocks that split out different types of identifiers (organization vs people vs things). I think it's better to separate out identifiers by type, but it gets complicated as you start to nest things. Here is an example of supporting multiple affiliations and multiple identifiers per affiliation:

 "affiliationIdentifiers": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "affiliationIdentifier": {"type": "string"},
                    "affiliationIdentifierScheme": {"type": "string"},
                    "schemeURI": {"type": "string", "format": "uri"}
                },
                "required": ["affiliationIdentifier", "affiliationIdentifierScheme"]
            },
            "uniqueItems": true
        },
        "affiliations": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "affiliation": {"type": "string"},
                    "affiliationIdentifiers": {"$ref":"#/definitions/affiliationIdentifiers"}
                },
                "required": ["affiliation"]
            },
            "uniqueItems": true
        }

rdm/0011-creators-contributors-metadata.md Outdated Show resolved Hide resolved

## Alternatives

The main alternative to the definition above is to split the `stakeholders`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm pro-splitting, stakeholders sounds too generic in this context

rdm/0011-creators-contributors-metadata.md Outdated Show resolved Hide resolved

OR

```json
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer this one, see also above my comment on additionalProperties


?

Where should `owners` fit in this design (if at all)? The meaning of `owners`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

owners IMHO, is a "system" field (i.e. might contain a database user ID, and might be used for access control), in contrast to creators which is a bibliographic field.

@fenekku
Copy link
Contributor Author

fenekku commented Dec 20, 2019

Other updates made. This should be a good fodder for discussion in January.

@fenekku fenekku force-pushed the creators_contributors_metadata branch from 960792b to 69db810 Compare December 20, 2019 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RDM Invenio RDM
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants