airr-community / airr-standards

AIRR Community Data Standards
https://docs.airr-community.org
Creative Commons Attribution 4.0 International
35 stars 23 forks source link

Introduce Contributor record #741

Closed bussec closed 7 months ago

bussec commented 8 months ago

Fixes #552

Introducing the changes only in the v3 Schema for now, we can adapt them for v2 once we are finished with the discussion.

bussec commented 8 months ago

It is nearly two years since we discussed this in #552 . In general, the PR should address all the issues raised there, however some of my decisions are noted below:

Contributor record

ContributorContribution record

Study record

bcorrie commented 8 months ago

I like it...

javh commented 8 months ago

From the call:

bussec commented 7 months ago

@bcorrie @schristley @williamdlees please review. The problem with the R package check not running through will be handled by #761.

schristley commented 7 months ago

From looking at the nullable flags, is it worthwhile to list a contributor when only have their name, but no info on their contribution? I'm trying to think of a scenario when that might happen. Maybe curating a publication where it doesn't list contributions so all you know is the person is an author.

bcorrie commented 7 months ago

@bussec I like it, it looks good, but........ 8-)

The fields that got removed I think need to be left in and marked as deprecated, no?

bussec commented 7 months ago

@bcorrie

The fields that got removed I think need to be left in and marked as deprecated, no?

Yes are probably right, but it was so much fun deleting them ;-) I will put them back in ASAP.

On a side note: I guess now it will become more important that our validator functions actually check for the deprecated mark.

bcorrie commented 7 months ago

Yes are probably right, but it was so much fun deleting them ;-)

I figured as much... 8-)

bussec commented 7 months ago

@bcorrie Ok, deprecated fields in Study are now back in place with a deprecated tag. I did not re-add the field from other objects, as those are part of "experimental" schemas and my interpretation of that status is "User beware, things will change without explicit notice". Does that sound right to you?

bussec commented 7 months ago

From looking at the nullable flags, is it worthwhile to list a contributor when only have their name, but no info on their contribution? I'm trying to think of a scenario when that might happen. Maybe curating a publication where it doesn't list contributions so all you know is the person is an author.

@schristley You are correct that ContributorContribution.role is not nullable, however Contributor.contributions (which is an array of ContributorContribution records is. So if the contribution is unknown, you can have an empty array here. On the other hand, it does not make much sense to me to have a ContributorContribution record in which role is not specified.

schristley commented 7 months ago

@schristley You are correct that ContributorContribution.role is not nullable, however Contributor.contributions (which is an array of ContributorContribution records is. So if the contribution is unknown, you can have an empty array here. On the other hand, it does not make much sense to me to have a ContributorContribution record in which role is not specified.

Right, I wasn't sure which way I was leaning but I think I settled on that it's more important to list somebody as a contributor even if we don't know their exact contribution versus being forced to leave them off as contributors.