Revised CIF syntax guidelines
jamesrhester at gmail.com
Thu Mar 31 05:20:57 BST 2011
Please find below a slightly revised version of the guidelines for
developing base CIF syntax and semantics. I have taken the version
most recently posted by John Bollinger, and following discussion with
John Westbrook, have added a couple of points relating to maintaining
compatibility with previous versions of CIF (1 (vi) and (vii)). Note
also that I have also adjusted the text in 1 (ii) to refer to
scientific domains in which CIF is used, rather than scientific
domains in general.
I plan to call a vote on accepting these guidelines following a short
further period for discussion of the revision below.
Principles guiding development of Base CIF 2.0
CIF is a framework for exchanging and archiving scientific data,
featuring a human-readable, machine-parseable, file format designed to
serve as an exchange and archive medium. 'Base' CIF comprises the
definitions and constraints that underlie CIF and apply to all CIF
files; those aspects defining the CIF file format are documented in
the CIF Syntax specification and the CIF Common Semantic Features
Base CIF aims to remain as simple as possible by delegating
considerations such as ontology, vocabulary, data relationships, and
complex and rich data types to domain dictionaries and the DDL
formalisms by which those dictionaries are defined. In the following,
the phrase 'domain level' refers to such documents (though it is
anticipated that only dictionaries, not DDLs, will be
domain-specific). Definitions and constraints at domain level apply
to a particular CIF file only as declared by that file or as required
by a particular CIF processor in a particular context.
The design of base CIF 2.0 is guided by these principles:
1. A feature should be added to or changed in base CIF only if all of
the following are satisfied:
(i) Implementation of the desired behavior by changes at the domain
level is not feasible, or else such changes, while feasible, would
significantly reduce human readability;
(ii) the change provides significant new functionality that is widely
applicable to those scientific domains where CIF is used
(iii) reliable transfer and archiving of data is not compromised
(iv) there is no simpler way of achieving the desired behaviour
(v) it has been shown possible to implement the change at a cost
commensurate with its benefits, as demonstrated in part by a rough
consensus and running code.
(vi) Where possible, any new CIF syntax features should be developed
as an extension to the current standard, and thus not change the
interpretation of archival files that conform with previous versions
of the CIF standard.
(vii) Where it is impractical to provide for full backward compatibility as
described in (vi), the relevant archival repositories and software developers
should be consulted to arrive at a solution that will minimize the impact of
2. As long as the requirements in (1) are satisfied, base CIF should:
(i) behave in a way that is consistent with common usage
(ii) align with pre-existing standards where those standards provide
the required behaviour. CIF 1.1 can be considered a pre-existing
standard for CIF 2.0 in this context.
3. Non-technical issues should be dealt with in non-technical arenas.
4. Draft changes to base CIF will be made available on the IUCr
website for public comment for a period of at least 6 weeks, following
which COMCIFS voting members, after consideration of any objections
raised, can vote to accept the change. A change will be accepted if
3/4 of COMCIFS voting members approve it.
T +61 (02) 9717 9907
F +61 (02) 9717 3145
M +61 (04) 0249 4148
More information about the comcifs