COMCIFS / cif_core

The IUCr CIF core dictionary
15 stars 9 forks source link

Update definition of the `_alias.deprecation_date` attribute. #474

Closed vaitkus closed 7 months ago

vaitkus commented 8 months ago

This PR attempts to specify how '.' and '?' CIF special values should be interpreted in the context of the _alias.deprecation_date attribute. The assignment of a default value of '.' (not deprecated) also seemed appropriate.

Suggestions are welcome.

vaitkus commented 8 months ago

The layout checker seems to fail for reasons unrelated to the changes applied to the dictionary.

jamesrhester commented 8 months ago

I've fixed the layout checker (bug triggered by a 'nothing' value for the default).

I don't think the suggested meaning of ? is consistent with the way CIF works. ? should always be equivalent to the complete absence of the attribute, or in other words, the value of any missing attribute is ?. So if . is the default, then ? must also mean "not deprecated". I agree that . should be the default, as we have many definitions where _alias.deprecation_date is missing.

There is an obvious lack of any way to say 'deprecated, but we don't know when.' This should not be a problem as we have good tracking these days. For legacy issues, we'll just have to choose a date after which it was definitely deprecated.

vaitkus commented 8 months ago

I have updated the definition to state that both . and ? indicate that the value has not been deprecated, hopefully this is OK. I am happy with any interpretation of ? as long as it is clearly specified (without a specific definition the unknown value ? may alternatively be interpreted as "The deprecation date is not know" or "The deprecation status is not known", etc.).

The checker seems to still be failing for the same reason, probably a stale checkout of some sort?