You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently, there have been some efforts to migrate the DDL2 dictionaries to DDLm (for example, the imgCIF dictionary, https://github.com/COMCIFS/imgCIF). Most DDL2 concepts align quite well with DDLm, however, I did notice a significant difference in the way enumeration ranges are defined with DDL2 seemingly using a superior approach.
DDL version
Category/Item
Min/Max representation
Allows multiple ranges per item
Allows non-inclusive min/max
DDLm
_enumeration.range
Min/Max as a composite string
No
No
DDL2
ITEM_RANGE
Min/Max as separate items
Yes
Yes
While all DDLm ranges can be expressed in DDL2, the reverse is not true. Given the somewhat recent migration of certain DDL2 dictionaries to DDLm (e.g. imgCIF, https://github.com/COMCIFS/imgCIF), maybe it would make sense to introduce a similar more advanced range description to the DDLm dictionary as well (e.g. deprecate the old one and add a new category)? Note, that the previously mentioned imgCIF dictionary already contains non-inclusive range values that cannot be equivalently represented in DDLm (e.g. _array_element_size.size, _array_intensities.gain).
Possible approaches of specifying whether a range in inclusive were previously discussed in issue #372, but I would prefer the DDL2 approach since it also allows specifying discontinuous enumeration ranges. See, for example, how the range of (0.0, 1.0] ∪ [2.0, +inf) can be expressed in DDL2:
Recently, there have been some efforts to migrate the DDL2 dictionaries to DDLm (for example, the imgCIF dictionary, https://github.com/COMCIFS/imgCIF). Most DDL2 concepts align quite well with DDLm, however, I did notice a significant difference in the way enumeration ranges are defined with DDL2 seemingly using a superior approach.
ITEM_RANGE
While all DDLm ranges can be expressed in DDL2, the reverse is not true. Given the somewhat recent migration of certain DDL2 dictionaries to DDLm (e.g. imgCIF, https://github.com/COMCIFS/imgCIF), maybe it would make sense to introduce a similar more advanced range description to the DDLm dictionary as well (e.g. deprecate the old one and add a new category)? Note, that the previously mentioned
imgCIF
dictionary already contains non-inclusive range values that cannot be equivalently represented in DDLm (e.g._array_element_size.size
,_array_intensities.gain
).Possible approaches of specifying whether a range in inclusive were previously discussed in issue #372, but I would prefer the DDL2 approach since it also allows specifying discontinuous enumeration ranges. See, for example, how the range of
(0.0, 1.0] ∪ [2.0, +inf)
can be expressed in DDL2:Is this something worth pursuing?
The text was updated successfully, but these errors were encountered: