Handle various representations of "multiple" I/O values #579
Labels
feature/CWL
Issue related to CWL support
process/wps1
Issue related to WPS 1.x processes support
process/wps2
Issue related to WPS 2.x processes support
project/OGC
Related to OGC testbeds or relavant projects.
triage/feature
New requested feature.
Description
The
minOccurs
/maxOccurs
are used in inputs/outputs OGC API definitions to indicate the cardinality of an input "item".This "item" can then itself be a single literal value, an array, or a complex object, which is represented by
schema
.Therefore, a
minOccurs: 1
/maxOccurs: 1
(default) with aschema
defining atype: array
needs to be passed to remote processes as a single-value "complex data" represented by a JSON array. In CWL, that would be mapped to aFile
containing the JSON array.If
minOccurs >= 2
andschema
hastype: array
, that input must have at least 2 "item" values, each being an array on its own. In order words, something like[ [1,2], [3,4] ]
. In CWL, that would be represented asFile[]
, each respectively containing[1,2]
and[3,4]
. In a remote WPS, the input would be provide twice, with the same respective complex data arrays.The tricky portion is that WPS does not support "multiple outputs". No "cadinality" can be defined by
minOccurs
. In contrast, OGC API and CWL can support multiple outputs without any problem. In order to somewhat support them, theschema
has been loosely updated using aoneOf
representation of the single value vs multi-value representation whenminOccurs >= 2
was detected.All of this needs to be sorted out according to recommendations and future discussions from OGC API.
References
The text was updated successfully, but these errors were encountered: