Comments (1)
All of the REFLN
-type categories should be keyed by a separate id
type, as we cannot guarantee that hkl
are unique. This is a real problem for modulated structures (hklmnop...) and raw data (same peak collected more than once). I've been putting this off, but needs to be discussed and done.
chemical_conn_bond
et al: the references toid
are leftovers from when there were such identifiers in an earlier draft. May be deleted.
As the the more general question of when to create such "synthetic" identifiers, there is no clear-cut answer. The original DDLm vision always had a single id
for every Loop
category, to make dREL of the form category[keyval]
resolve. We've expanded the dREL rules so that multi-key-data-name categories will still resolve economically.
I think the practical answer is that if rows in a category will be linked to from other categories, then to avoid data name proliferation a synthetic identifier is worth creating. So, for example, the topology dictionary needs to identify nodes that are joined into a net, where a node might need an atomic label, symmetry operation id, and three lattice translations in order to identify it. The loop listing the nodes in a particular net could either refer to a synthetic node_id
, or use five child data names of the above items to refer to a node - so, clearly creating a node_id
is worthwhile.
The hkl
problem is a little different - the issue here is not data name proliferation, but that items with a physical meaning are used as identifiers, opening us up to possible duplication (ie not a key any more) when the science develops. The three lattice translations used to identify a node in the previous paragraph are also bad in this sense, as modulated structures need to specify lattice translations in a different way. Hmm.
from cif_core.
Related Issues (20)
- What is the `_type.source` of `SU`-related data items? HOT 10
- Are the concepts of primitive and non-primitive data still relevant in DDLm? HOT 2
- `CELL`-related saveframes in `templ_attr` need updating
- Create a category to hold structure description items HOT 14
- CIF2.0 line termination? HOT 1
- Proposal: split out multi-block-related data items to separate dictionary HOT 8
- Evaluation method of `_atom_site.type_symbol` HOT 3
- CIF2 grammar and `triple-quoted-string` and `quoted-string` HOT 2
- Should the `_audit_update_record` be redefined as a separated category? HOT 1
- Relationship between the `coreCIF` and `symCIF` HOT 2
- Inconsistency in `DIFFRN_RADIATION`: `_definition.class` vs `_definition.text`. HOT 1
- [New data item]: Method for indicating the data source for a structure - experimental vs calculated HOT 3
- Description of EXPTL category HOT 1
- Should data names deprecated in DDL1 be deprecated in DDLm? HOT 1
- Clarify the semantics of the `_alias.dictionary_uri` attribute HOT 5
- Add `_alias.dictionary_uri` to aliases where possible HOT 1
- Add list-valued variants of the symmform data names
- Harmonisation of dictionary naming convention HOT 11
- Enumeration range for cell lengths HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cif_core.