-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should atomic properties be REQUIRED? #285
Comments
I remember @merkys (pinging him on this) argumented that making |
I see. And now I remember the use case of not giving atomic positions. However, if atomic positions are given, I think we want to give also the rest of the arrays, right? |
I'm a bit reluctant to phrase these requirements in the specification, i.e., if A is not |
Current COD supports coordinate-based properties by request, thus it adheres to MUST requirement already despite the computations it takes. So I am for making the requirement stricter. |
We've just run into this again over at Materials-Consortia/optimade-python-tools#560. The question is whether the specification requires values of SHOULD fields depending on the values of other SHOULD fields, e.g. if Currently the validator does not allow this, as the check for consistency between correlated fields like these also includes a check for nullity. The PR linked above relaxes this constraint and allows all SHOULD fields to be null, no matter the values of other fields. What is unclear to @CasperWA and myself is whether this is an open question on the interpretation of v1.0 of the specification, or whether the above discussion is a proposal for modifying the specification in, say, v1.1. In terms of our implementation, we are considering a process whereby a warning is emitted if one of two correlated fields is not provided, with an error only being raised if the values are inconsistent. This is already the case for the "SHOULD" field |
I would think the same. If the correlation of fields is not explicitly established in the specification, then I guess they should be treated as uncorrelated.
Good question. It would be interesting to look into how other specification projects deal with reducing ambiguity :) |
See e.g. this comment and the following.
In particular:
dimension_types
is optional, but they are important. E.g., a Si_2 molecule and a Si crystal might only differ on thedimension_types
, and they are very different things.Or
cartesian_site_positions
,species_at_sites
,species
.Or at least, should we say that if one is present, all MUST be present?
The text was updated successfully, but these errors were encountered: