bids-validator
                                
                                 bids-validator copied to clipboard
                                
                                    bids-validator copied to clipboard
                            
                            
                            
                        BIDS URI support
xref https://github.com/bids-standard/bids-specification/pull/918
Minimally we need:
- [x] Permit dataset_description.DatasetLinksobject- Empty string as a key is an error
- Values are URIs (relative paths accepted)
 
- [ ] Handle BIDS-URIs as part of NIfTI validation routine for IntendedFor- see https://github.com/bids-standard/bids-validator/issues/1393#issuecomment-1019520428
- however, see also: https://github.com/bids-standard/bids-validator/pull/1409#issuecomment-1191749813
 
Long-term:
- Deprecation warning if BIDS-URI field is not URI
- Validate all IntendedFor(not just for NIfTI), BIDS URI validation only if "local"
Empty string as a key is an error
That can probably be done in JSON schema terms via:
{
 "not": {
  "anyOf": [
    { "required": [ "" ] }
  ]
}
https://stackoverflow.com/a/70266255/5201771
The bids-validator currently contains a check for the IntendedFor field as part of the NIfTI validation:
https://github.com/bids-standard/bids-validator/blob/4feb91b8aa9506c123d38327485dd5d4cd69e80b/bids-validator/validators/nifti/nii.js#L1247-L1265
This leads to issues during validation with BIDS URIs, see this bids-examples PR: https://github.com/bids-standard/bids-examples/pull/304, and the problem log:
bids-validator 7t_trt -c /home/runner/work/bids-examples/bids-examples/bidsconfig.json --ignoreNiftiHeaders
[email protected]
bids-specification@disable
(node:1867) Warning: Closing directory handle on garbage collection
(Use `node --trace-warnings ...` to show where the warning was created)
	1: [ERR] 'IntendedFor' field needs to point to an existing file. (code: 37 - INTENDED_FOR)
		./sub-01/ses-1/fmap/sub-01_ses-1_run-1_phasediff.nii.gz
			Evidence: bids::sub-01/ses-1/func/sub-01_ses-1_task-rest_acq-fullbrain_run-1_bold.nii.gz
...
For non-NIfTI files, this is not a problem, because such a check was never implemented as far as I know.
This is something that needs to be fixed before we can merge BIDS URI support into the spec.
Done in schema validator. Not planned for legacy validator.