To carry neuroimaging datasets in a CouchDB database, we use the following mapping schemes to convert the logical structure of datasets/dataset collections to the hierarchies provided by a CouchDB (databases, documents, attachments etc)
Data logical structure | CouchDB object | Examples |
---|---|---|
a dataset collection | a CouchDB database | openneuro, dandi, openfnirs,... |
a dataset | a CouchDB document | ds000001, ds000002, ... |
files and folders related to a subject | JSON keys inside a document | sub-01, sub-1/anat/scan.tsv,... |
human-readable binary content (small) | an attachment to a document | .png, .jpg, .pdf, ... |
non-searchable binary content (large) | _DataLink_ JSON key | "_DataLink_":"http://url/to/ds/filehash.jbd" |