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

HowToAcknowledge not explicit in data type. #372

Closed
rwblair opened this issue Nov 21, 2019 · 13 comments · Fixed by #380
Closed

HowToAcknowledge not explicit in data type. #372

rwblair opened this issue Nov 21, 2019 · 13 comments · Fixed by #380
Labels
opinions wanted Please read and offer your opinion on this matter question Further information is requested

Comments

@rwblair
Copy link
Member

rwblair commented Nov 21, 2019

Text for the field in dataset_description.json in the current spec:

"OPTIONAL. Instructions how researchers using this dataset should acknowledge the original authors. This field can also be used to define a publication that should be cited in publications that use the dataset."

bids-standard/bids-validator#772 We had settled on the validator interpreting this field as a string. This breaks an example we have in bids-examples:
https://github.com/bids-standard/bids-examples/blob/master/ds000248/dataset_description.json#L10

Should a data type be added for this field, and should it be string, an array of strings, either a string or a an array of strings, or some other type.

From discussion with @effigies.

@rwblair rwblair added question Further information is requested opinions wanted Please read and offer your opinion on this matter labels Nov 21, 2019
@effigies
Copy link
Collaborator

@bids-standard/raw

@sappelhoff
Copy link
Member

sappelhoff commented Nov 27, 2019

the example you link to was prepared by me: I use an array of strings ... each entry in the array is one source to acknowledge / information on how to acknowledge.

I see that this is not very machine readable and that a simple string would be more straight forward. And a string would also be more in line with what is written in the specification.

@effigies
Copy link
Collaborator

effigies commented Dec 2, 2019

Well, I don't hear a great clamoring for preserving lists, and if it's just the one example, clarifying that it should be a string makes sense to me.

At least three OpenNeuro datasets will be affected:

$ grep -rI '"HowToAcknowledge":\[' ds*/dataset_description.json
ds000222/dataset_description.json:{"Name":"Sequential Inference VBM","BIDSVersion":"1.0.0rc1","License":"PDDL","Authors":["Thomas H B FitzGerald","Dorothea Haemmerer","Karl J Friston","Shu-Chen Li","Raymond J Dolan"],"HowToAcknowledge":["Citation of FitzGerald et al. Sequential inference as a mode of cognition and its correlates in fronto-parietal and hippocampal brain regions. PLoS Computational Biology (2017)","This data was obtained from the OpenfMRI database. Its accession number is ds000222"]}
ds000235/dataset_description.json:{"Name":"Whole-brain background-suppressed pCASL MRI with 1D-accelerated 3D RARE Stack-Of-Spirals Readout- Dataset 2","BIDSVersion":"1.0.0rc1","License":"PD","Authors":["Marta Vidorreta","Ze Wang","Yulin V. Chang","Maria A. Fernandez-Seara","John A. Detre"],"Acknowledgements":"Tiejun Zhao","HowToAcknowledge":["We  are  grateful  to  Tiejun  Zhao  from  Siemens  Healthcare  for  his  valuable  help  in  the  implementation of the online reconstruction algorithm of the sequence for the Siemens platform.","This data was obtained from the OpenfMRI database. Its accession number is ds000235."],"Funding":"NIH grants no. P41EB015893 and MH080729, and NSFC grant no. 81471644, and Hangzhou Innovation Seed Fund"}
ds000236/dataset_description.json:{"Name":"Whole-brain background-suppressed pCASL MRI with 1D-accelerated 3D RARE Stack-Of-Spirals Readout- Dataset 3","BIDSVersion":"1.0.0rc1","License":"PD","Authors":["Marta Vidorreta","Ze Wang","Yulin V. Chang","Maria A. Fernandez-Seara","John A. Detre"],"Acknowledgements":"Tiejun Zhao","HowToAcknowledge":["We  are  grateful  to  Tiejun  Zhao  from  Siemens  Healthcare  for  his  valuable  help  in  the  implementation of the online reconstruction algorithm of the sequence for the Siemens platform.","This data was obtained from the OpenfMRI database. Its accession number is ds000236."],"Funding":"NIH grants no. P41EB015893 and MH080729, and NSFC grant no. 81471644, and Hangzhou Innovation Seed Fund"}

Each of these was OpenFMRI, so we can go in and manually fix them up.

@effigies
Copy link
Collaborator

effigies commented Dec 2, 2019

Well, here's a case of us hitting this in the wild: https://neurostars.org/t/problem-uploading-dataset-to-openneuro-not-a-valid-bids-dataset-error/5532

@emdupre
Copy link
Collaborator

emdupre commented Dec 3, 2019

My 2c would be to enforce HowToAcknowledge as a string. It's intended to be added to human-centered documentation (manuscripts, etc), where having more than one sentence (as in all the linked cases) shouldn't be a hindrance, I'd think !

@teonbrooks
Copy link
Collaborator

I agree with @emdupre that we should enforce it as a string

@effigies
Copy link
Collaborator

effigies commented Dec 3, 2019

Sounds like consensus. I'll update those datasets on OpenNeuro. Would somebody like to propose some clarifying language for the spec?

@sappelhoff
Copy link
Member

Would somebody like to propose some clarifying language for the spec?

- OPTIONAL. Instructions how researchers using this  dataset should
- acknowledge the original authors. This field can also be used to define
- a publication that should be cited in publications that use the dataset.
+ OPTIONAL. A string of text containing
+ instructions how researchers using this  dataset should
+ acknowledge the original authors. This field can also be used to define
+ a publication that should be cited in publications that use the dataset.



@effigies
Copy link
Collaborator

effigies commented Dec 4, 2019

I was looking for other examples, and at least in common derivatives, we state a type with:

REQUIRED. Boolean.

Would it work for people to specify types with:

OPTIONAL. String.

Or maybe:

OPTIONAL. `string`.

This discussion ties into @yarikoptic's suggestion in #350, btw.

@sappelhoff
Copy link
Member

I would be +1 to specify the expected variable type like I commented before:

it'd be good to consistently advertise the expected data type in the spec and validate it.

@VisLab
Copy link
Member

VisLab commented Dec 4, 2019 via email

@sappelhoff
Copy link
Member

We are now quickly running from one issue into three issues with this thread. Let's divide and conquer.

as for this thread: It was about whether we want to accept STRING only for the HowToAcknowledge field ... and make this clear in both validator and spec.

So far, everybody has agreed that STRING would be good. I suggest to go ahead with this, make the adjustments, and close this issue (continuing the open points in their own issues as linked above).

@effigies
Copy link
Collaborator

effigies commented Dec 5, 2019

Sounds good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
opinions wanted Please read and offer your opinion on this matter question Further information is requested
Projects
None yet
6 participants