Ability to target properties in repeating sections
Currently, it is not possible to target quantities within repeating sections without specifying the exact index or the repeating sections, as resolving them is ambiguous without some extra information. This would, however, be needed in order to show values as columns in the results table, and also when targeting values to be plotted.
A prototypical example is the band gap value: There can be multiple band gap values per entry: one for spin-down, the other for spin-up. In order to e.g. plot the band gap, one needs to then specify some additional information.
In general, the resolving should also work recursively if targeting properties that have several repeating parents.
To get rid of the ambiguity, we could think of a syntax that could be used in nomad.yaml
and in the GUI. I would start out with the following:
-
results.properties.optoelectronic.band_gap.value:min
: The minimum value. -
results.properties.optoelectronic.band_gap.value:max
: The maximum value. -
results.properties.optoelectronic.band_gap.value:avg
: The average value. -
results.properties.optoelectronic.band_gap.value:<i>
: The ith value.
Later it might be reasonable to also allow the search to target these modifiers: E.g. results.properties.optoelectronic.band_gap.value:min > 0.5 eV
. This would be conceptually similar to the :any
, :all
etc, modifiers, now just extended to repeating sections instead of quantities with multiple values. This might be relevant because often the minimum band gap is the one that really matters.