cubicweb-medicalexp #3489162 insert FileParameter between ProcessingRun and FileSet [open]

A single processing may produce several files corresponding to different kinds of output. Usually the various output are identified by a parameter name. With actual schema, it is not possible to distinguish output files of a ProcessingRun. For instance, let's consider a process called Morphologist that takes an MRI scan and produces two images : one – called brain_mask - containing a segmentation of the brain and the other – called hemispheres – containing segmentation of both hemispheres. If outputs is only managed with a "generates" link between ProcessingRun and FileSet, there will be two images connected to an execution of Morphologist but it will not be possible to know which one is the brain mask and which one represent the hemispheres. The same difficulty can be found for input files. To solve the problem, we chose to introduce a new entity called FileParameter that will be between ProcessingRun and FileSet and will contain the parameter name associated to input or output files.

Note: the same need of storing the name of a parameter exists for ScoreValues generated by a ProcessingRun. However, each ScoreValue is linked to a ScoreDefinition which contains a name. Therefore, if there is a one to one correspondence between score name and processing parameter, it is possible to use ScoreDefinition to distinguish scores produced by a ProcessingRun. If such a one to one correspondence does not exists, it would be necessary to introduce a ScoreParameter that would have the same role as FileParameter.

done in<not specified>
load left2.000
closed by<not specified>
patch[schema] insert FileParameter between ProcessingRun and FileSet [pending-review]