-
Notifications
You must be signed in to change notification settings - Fork 10
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
[Add Check]: Check that if experimenters string does not have comma #33
Comments
This is a bit tricky for experimenters, because they might have listed the name Last, First |
The BP section for experimenters does not describe the format in which they ought to write these things down: should this be updated to some standard, such as Last Name, M. I., First Name M. I. - 'middle initial' And how should multiple experimenters be handled? |
multiple experimenters should be handled as a vector of strings |
OK so, as I understand the heart of this original issue is to try to detect people encoding multiple experimenters with comma-separation instead of being added as different elements of the vector. However, there are several different ways people can encode a single experimenter name, such as (a) Firstname Lastname Now, we can still try to catch the heart of this issue by triggering the violation However, since the Best Practices make many references to trying to make NWBFiles machine-readable, I wonder if it might be in our best interest to encourage a single standard for encoding names (from a-e above), which would also make this kind of check easier and more reliable to catch. Note: the experimenter schema also mentions that roles can be specified. I'd propose that a Best Practice for that could be optionally including |
Here's DANDI's regex for name: https://github.com/dandi/dandi-schema/blob/ffa49ef5dc84bc5a234fbc9ca9ba04b872539893/dandischema/models.py#L48 |
Then their regex matches option (dii). That could regex could be improved however; note that it allows numbers included in names (try Also note it does not accommodate role assignment of each experimenter, which the NWB Schema indicates is allowed @bendichter So do you think we should make it a Best Practice to enforce structure (dii)? How should we deal with roles? |
@CodyCBakerPhD good points. Maybe we should raise these issues on the dandi schema repo |
Turns out that was an older version (not most recent master): https://github.com/dandi/dandi-schema/blob/master/dandischema/models.py#L60 And they may continue to think numbers in names are OK. One thing to note though as I look through their code and how they use it, I'm not 100% sure they actually require the NWBAsset experimenter metadata to follow that, that's just what they enforce for their dandi assets after extraction. So whatever format the NWB team decides to support for this as a 'best practice' can always be mapped into what dandi expects via their intermediate metadata handling functions. |
@CodyCBakerPhD yes, exactly. This is a dandiset metadata requirement. I'd like to have the option of automatically pulling the experimenter metadata into the dandiset metadata, which is why I thought it might be convenient to have the same regex as a best practice. |
If a user provides a comma-separated scalar string for
nwbfile.experimeter
, the inspector should recommend that they instead store an array of experimenter names. Same for keywords and related publications.The text was updated successfully, but these errors were encountered: