Open gerickson opened 4 years ago
I thought oneDM would not define products.
@WAvdBeek, you are correct that OneDM is not defining products; however, the syntax must be able to cover a product or product-like construct if OneDM is to meet the expectation that other ecosystems that do have and do define products can use the syntax and tooling to supplant their own, internal tooling and syntax.
In Weave Data Language (WDL), resources are equivalent to ODM "products". Over time, the definition of the resource may evolve and its version incremented as those changes occur. To the extent that changes in the resource need to be bound to specific versions of one or more underlying traits (objects) and interfaces (things), WDL provides a construct in the form of the _versionmap decoration to specify those dependencies.
To be expressed in ODM SDF losslessly, a syntax construct for representing this version mapping, when present, is required.
See related issue https://github.com/one-data-model/language/issues/60.
Relevant Example Schema Input Files
Missing or Unmapped WDL-to-ODM SDF Syntax
version_map
This is an array of dictionaries specifying which specific versions of the interfaces and/or traits comprising the resource are depended upon for a particular resource version. The dictionaries contain three keys: _resourceversion, _iface_versionlist, and _trait_versionlist.
Note that not all interfaces or traits specified in the resource need be specified in the version map; they need only be specified if there are specific version requirements.
resource_version
iface_version_list
trait_version_list
Example Input WDL