Currently the REFLN category has no Set category links, and therefore is relying on implicit linking with other categories in order to be interpreted. Other dictionaries (e.g. modulated structures, powder) use this category, and so any new keys that are defined in the multiblock dictionary must be compatible with them.
Given that REFLN contains both model and observation, there is a dependence on the structure category (model) and (somehow) diffrn. However, for single crystal, multiple crystals can contribute, at the extreme end liquid flow experiments might contribute thousands, so there is no single _diffrn.id that can be associated with a particular hkl. In single crystal, separate observed reflections (diffrn_refln) are merged to a final reflection, thus removing the unique link to diffrn (and exptl_crystal).
As a first suggestion:
- We add
_refln.structure_id as a key data name linked to _structure.id.
- We add
_diffrn_refln.merged_id as a non-key data name pointing to _refln.id
Given the above, I think we have all the information needed to calculate/find values of all non-key datanames in REFLN, particularly F_meas and F_calc: for a given row we have a structure via _refln.structure_id. We need wavelength to do the calculation, which we find by backtracing the _diffrn_refln.merged_id -> _refln.id link, then _diffrn.id for that particular _diffrn_refln.id gives us our radiation source via _diffrn.id -> _diffrn_radiation.id. The wavelength used is the weighted sum of those listed in diffrn_radiation_wavelength - as long as the peaks haven't been spread out so far that they are considered distinct. That's a topic for the core DMG.
Currently the
REFLNcategory has noSetcategory links, and therefore is relying on implicit linking with other categories in order to be interpreted. Other dictionaries (e.g. modulated structures, powder) use this category, and so any new keys that are defined in the multiblock dictionary must be compatible with them.Given that
REFLNcontains both model and observation, there is a dependence on thestructurecategory (model) and (somehow)diffrn. However, for single crystal, multiple crystals can contribute, at the extreme end liquid flow experiments might contribute thousands, so there is no single_diffrn.idthat can be associated with a particular hkl. In single crystal, separate observed reflections (diffrn_refln) are merged to a final reflection, thus removing the unique link todiffrn(andexptl_crystal).As a first suggestion:
_refln.structure_idas a key data name linked to_structure.id._diffrn_refln.merged_idas a non-key data name pointing to_refln.idGiven the above, I think we have all the information needed to calculate/find values of all non-key datanames in
REFLN, particularlyF_measandF_calc: for a given row we have a structure via_refln.structure_id. We need wavelength to do the calculation, which we find by backtracing the_diffrn_refln.merged_id -> _refln.idlink, then_diffrn.idfor that particular_diffrn_refln.idgives us our radiation source via_diffrn.id -> _diffrn_radiation.id. The wavelength used is the weighted sum of those listed indiffrn_radiation_wavelength- as long as the peaks haven't been spread out so far that they are considered distinct. That's a topic for the core DMG.