Skip to content

Commit e62ee75

Browse files
committed
add warning about non-portable BIDS URIs
1 parent 1872fe7 commit e62ee75

1 file changed

Lines changed: 17 additions & 7 deletions

File tree

src/02-common-principles.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -438,18 +438,18 @@ and if it is specified, it MUST be empty, because `local` MUST NOT be an entry.
438438

439439
To link for example to a derivative file that is stored in a `derivatives/`
440440
directory that is stored on a remote server called `mydatahost.com`:
441-
`bids:deriv3:/sub-01/anat/sub-01_desc-preproc_T1w.nii.gz`
441+
`bids:deriv2:/sub-01/anat/sub-01_desc-preproc_T1w.nii.gz`
442442

443443
```json
444444
{
445445
"DatasetLinks": {
446-
"deriv3": "https://mydatahost.com/derivatives/derivative3"
446+
"deriv2": "https://mydatahost.com/derivatives/derivative2"
447447
}
448448
}
449449
```
450450

451451
This means that the needed files can be obtained by downloading the data
452-
from `https://mydatahost.com/derivatives/derivative3`, and then navigating
452+
from `https://mydatahost.com/derivatives/derivative2`, and then navigating
453453
to `/sub-01/anat/sub-01_desc-preproc_T1w.nii.gz` relative to that
454454
downloaded data.
455455

@@ -472,27 +472,37 @@ specified in the BIDS URI relative to the downloaded data.
472472

473473
### Refer to a file outside of a dataset but on the same host
474474

475+
It is RECOMMENDED to refer to files **within** a dataset,
476+
or on a **remote** location as described in the sections above.
477+
However sometimes it may be convenient to refer to files that are
478+
outside of a given dataset but on the same host.
479+
BIDS URIs allow for specifying such locations, but such specifications
480+
are by definition not portable in that the BIDS URIs break when the
481+
host changes.
482+
When sharing a BIDS dataset, the dataset curator MUST make sure that
483+
all BIDS URIs are portable.
484+
475485
To link for example to a derivative file that is stored in a `derivatives/`
476486
directory that is NOT nested in the raw BIDS directory:
477487

478-
`bids:deriv2:/sub-01/anat/sub-01_desc-preproc_T1w.nii.gz`
488+
`bids:deriv3:/sub-01/anat/sub-01_desc-preproc_T1w.nii.gz`
479489

480490
```json
481491
{
482492
"DatasetLinks": {
483-
"deriv2": "file://../some-local-path/derivative2"
493+
"deriv3": "file://../some-local-path/derivative3"
484494
}
485495
}
486496
```
487497

488-
Instead of specifying the path for `deriv2` from the example above relative
498+
Instead of specifying the path for `deriv3` from the example above relative
489499
to the current dataset, you MAY specify the path as an absolute path on the
490500
current host using the following syntax:
491501

492502
```json
493503
{
494504
"DatasetLinks": {
495-
"deriv2": "file:///some-other-local-path/derivative2"
505+
"deriv3": "file:///some-other-local-path/derivative3"
496506
}
497507
}
498508
```

0 commit comments

Comments
 (0)