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

BIDS and schema version #988

Closed
Remi-Gau opened this issue Jan 24, 2022 · 5 comments
Closed

BIDS and schema version #988

Remi-Gau opened this issue Jan 24, 2022 · 5 comments
Labels
discussion ongoing discussion opinions wanted Please read and offer your opinion on this matter schema Issues related to the YAML schema representation of the specification. Patch version release.

Comments

@Remi-Gau
Copy link
Collaborator

Opening a discussion regarding the prospect of having different versions of the schema for different BIDS version.

Or on how to deal with different BIDS version untill we have version specific BIDS schema.

Mentioned in this bids-matlab PR

having a maintained set of rules for all versions (possibly in separate repository) will help
developers (eg. me) of bidsifiers/validators to avoid a lot of if/else when dealing with older bids datasets.

This also relates to a regular question we get on the BIDS validator regarding validating a given BIDS version.

@Remi-Gau Remi-Gau added opinions wanted Please read and offer your opinion on this matter discussion ongoing discussion schema Issues related to the YAML schema representation of the specification. Patch version release. labels Jan 24, 2022
@yarikoptic
Copy link
Collaborator

well, we will have "version specific BIDS schema" as soon as any next release comes (I haven't realized there were none since 1.6.0 and now at v1.6.0-430-gf8882915 ! -- 430 commits after that!) since it does get adjusted along with PRs and thus will be released along with BIDS specification releases.

Some related ideas on how we organize/release releases of DANDI schema -- see #543 (comment)

@nbeliy
Copy link

nbeliy commented Jan 25, 2022

If I can, I would like to insert 5 centimes.

  • Schema could be a separate repository, so if someone need it for bidsifier/validator, he can just clone a set of config files
    instead of full bids-specifications.
  • in json, as more portable compared to yaml
  • 3 separate file per version (entities, metadata, additional rules and exceptions), and oriented by easy search given data-type and suffix

I made a small python script that extract entities int json for all tags, I can share it if you are interested.
But metadata extraction is more complicated (need a lot of greps)

@Remi-Gau
Copy link
Collaborator Author

* Schema could be a separate repository, so if someone need it for bidsifier/validator, he can just clone a set of config files
  instead of full bids-specifications.

* in json, as more portable compared to yaml

* 3 separate file per version (entities, metadata, additional rules and exceptions), and oriented by easy search given data-type and suffix

Tempted to say we can close this one, now that we have a single file JSON version of the schema.

https://bids-specification.readthedocs.io/en/latest/schema.json

@yarikoptic
Copy link
Collaborator

as for separate repo, we also have https://github.com/bids-standard/bids-schema intended to collect releases (and possibly "snapshots" of master) of the schema. Currently just a copy of yamls but I filed bids-standard/bids-schema#8 so we could also have json serialization. Then schema could, at least for now, being developed directly in this repo, and that repo have various versions of the bids standard and in possibly different serializations.

@Remi-Gau
Copy link
Collaborator Author

OK
So will close this for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion ongoing discussion opinions wanted Please read and offer your opinion on this matter schema Issues related to the YAML schema representation of the specification. Patch version release.
Projects
None yet
Development

No branches or pull requests

3 participants