Discussion List Archives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CIF-JSON draft 2017-05-15

On Tue, May 16, 2017 at 12:44 AM, James Hester <jamesrhester@gmail.com> wrote:

On 16 May 2017 at 13:51, Robert Hanson <hansonr@stolaf.edu> wrote:
Q: Do I have this right?

(Reserved names). All CIF-JSON top-level names starting with an upper-case letter are reserved for future development.

The draft version says "all names in JSON data blocks" but that is unnecessary, I think. Those have to start with "_" or either "save_" or "frame" depending upon what you want to do with same frames. Right?

No, the idea is indeed that we reserve all capitalised JSON names within data blocks for future expansion, for example, if we wanted to store JSON numbers in 'Numbers' and uncertainties in 'Uncertainties'.  These most naturally belong in the same data block as the item that they refer to. Anything new in the top level we would just store inside 'Metadata'.  CIF-JSON users can then mess around with lower-case JSON names in data blocks for their own custom uses (I think you were talking about annotation, for example).  Of course, reserving "save_*" for save frames is a bit of a wart in this system, especially as "save" would be a likely choice for an adhoc name.

My point is that all data names must start with "_" ("Tag" in CIF1 lingo):

<Tag> '_'{ <NonBlankChar>}+

So who cares about additional data names having capitalization or not? They just don't have to start with "_" -- like the "frames" idea. There was no need to capitalize that. So any item's key in a JSON data block object with a name that does not start with _ must be metadata of some sort -- or some additional CIF-JSON-specific hierarchy such as "frames".

I get it that at the top level you could say all names need to be lower case, because if "data_" is not prepended, then we have no other way to know which ones are block codes and which ones are metadata.

cif-developers mailing list

Reply to: [list | sender only]
International Union of Crystallography

Scientific Union Member of the International Science Council (admitted 1947). Member of CODATA, the ISC Committee on Data. Partner with UNESCO, the United Nations Educational, Scientific and Cultural Organization in the International Year of Crystallography 2014.

International Science Council Scientific Freedom Policy

The IUCr observes the basic policy of non-discrimination and affirms the right and freedom of scientists to associate in international scientific activity without regard to such factors as ethnic origin, religion, citizenship, language, political stance, gender, sex or age, in accordance with the Statutes of the International Council for Science.