Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[ENH] Added the specification for using HED libraries in BIDS #1106
[ENH] Added the specification for using HED libraries in BIDS #1106
Changes from 4 commits
6ce58dc
976559a
6555ad5
dc723e4
d52c011
8039ec9
ccf749b
ce26293
a0a7b36
37e9b8f
42708ef
f26bcd1
cfea5f7
5310be6
a49df64
55d79a6
5c7045d
6101459
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this some "official" identity specification combining library and a version? if not, may be worth separating out, even if more verbose:
or alike to make it explicit, and to allow in the future e.g. to expand with optional extra information (e.g. URL to the HED library which is not in the library of libraries i.e. hed-schema-library) but available from another library of libraries or may be even directly pointed to by that URL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some version of what you suggest was the original plan (though URIs were never planned to be supported other than
bids:
schema paths within the dataset), but it was simplified during development after feedback from the HED community. @VisLab can provide more detail, which is escaping me.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The suggestion is above is one that we have considered (see hed-specification issue#156). The actual format is only proposed at this point in the HED specification, and we would appreciate opinions and are open to changes.
We have gone through a number of versions of this, and originally we thought we would support a file within the bids data set itself and arbitrary URLs. The HED working group consensus was to start with the standard libraries and see how it goes, since the purpose is to have standardized vocabularies to make meaningful comparisons across datasets.
On a related note:
The
hed-python
tools allow a schema group to be passed into its BIDS data set constructor to override the specification in dataset_description. Right now thehed-javascript
public interface (which is what BIDS uses) only passes in the data set and constructs the schema group internally.I am mentioning this because another possibility is to allow a schema group to be passed in as part of the public interface to the
hed-javascript
validator (from bids) which would override the internal specification extracted from thedataset_description
. This is relevant because we are going to have to do a major version bump to support the libraries because of another interface change and we could add this in as an option and allow BIDS to decide. @sappelhoff. @rwblair?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The specification of which schemas are to be used to be used for validating a dataset are provided in a separate parameter, since
hed-javascript
cannot handle relative paths within the BIDS dataset directory and needs them parsed to use the absolute path. However, the actualSchema
andSchemas
types used by the validator to represent schemas are considered implementation details (despite being returned by thevalidator.buildSchema
function) and not part of the stable API. In theory, the object passed as the second argument tovalidateBidsDataset
can be any object conforming to the defined API, regardless of whatdatasetDescription.json
says.