Discussion List Archives

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

RE: Meaning of _category.mandatory_code

  • Subject: RE: Meaning of _category.mandatory_code
  • From: "Bollinger, John Clayton" <jobollin@xxxxxxxxxxx>
  • Date: Fri, 27 Jan 2006 17:34:40 -0500

I in no way reject the premise that save frames are intended to be read in the context of the surrounding data block; please do not interpret my previous comments otherwise.  The problem is that CIF and STAR define essentially no semantics, and in particular they do not define what, if anything, a save frame's data block context *means* to that same frame or implies about it.  The idea that data blocks and the save frames they contain should establish a two-level hierarchical namespace is not well supported by the STAR specs, but it is not clearly contradicted, either.

With STAR semantics left to users and user communities, the issue becomes one of dictionaries and DDLs, as David aptly directed the conversation.  I see no technical reason why a future DDL could not provide a vocabulary with which CIF dictionaries could implement a hierarchical namespace such as David suggested.  It would, however, render all the CIF software on the planet obsolete -- a heavy cost that should be carefully weighed before going that route.  An alternative might be to introduce save frame references into CIF to address some of the same needs (also with DDL / dictionary support); this might or might not be as disruptive.

What is less clear to me is whether DDL2 contains implicit assumptions about the semantic model for save frames vis a vis validation.  In the hierarchical model, it sounds as if the DDL and actual dictionary implementations do not agree.  If some other model, then that question remains open.


John C. Bollinger, Ph.D.
Indiana University
Molecular Structure Center


> -----Original Message-----
> From: cif-developers-bounces@iucr.org 
> [mailto:cif-developers-bounces@iucr.org] On Behalf Of David Brown
> Sent: Friday, January 27, 2006 3:39 PM
> To: Forum for CIF software developers
> Subject: Re: Meaning of _category.mandatory_code
> Just one point of clarification.  item_description is a 
> category in DDL2 which contains two items, 
> _item_description.name and _item_description.description.  
> Clearly a dictionary save frame would be incomplete without 
> the item's name being present
> (_item_description.name) hence it is mandatory.  As James 
> points out however, these two items do not appear in the save 
> frames that describe categories.  However, to correct James 
> on a minor point, the name of the category is not given in 
> _category_description (this is the category equivalent of 
> _item_description.description) but in the item _category.id.  
> _category.id is also described as mandatory but only appears 
> in the category save frames, not the item save frames.  Thus 
> the mandatory 'yes' should only apply to _category.id in save 
> frames that describe the attributes of a category, and 
> _item_description.name should only be mandatory in save 
> frames that describe the attributes of an item.  It is not 
> clear to me that there is an easy way to resolve this 
> problem.  (_category.id is not to be confused with 
> _item.category_id which identifies the category that an item 
> belongs to - as if this were not confusing enough already)
> However one interprets the star and cif descriptions, it 
> seems clear to me that what is intended is that a save frame 
> should be read in conjunction with surrounding datablock 
> (i.e., ignoring only the other save frames in the data 
> block).  Since programs that access CIF2 dictionaries (CIF 
> dictionaries written using DDL2) need to be able to handle 
> save frames, there should be no objection to introducing save 
> frames into CIFs that conform to yet-to-be-written CIF3 
> dictionaries (i.e., CIF dictionaries written in the proposed 
> DDL3).  This would have the advantage of allowing people to 
> describe more than one experiment in the same CIF - all the 
> items common to both experiments would be in the datablock 
> while the description of the two experiments would be in two 
> different save frames.  However this would only make sense if 
> a save frame is to be read in the context of the surrounding 
> datablock.  Our present procedure of including several 
> related datablocks in the same file is unsatisfactory because 
> datablocks are explicitly stated to be independent and there 
> is no satisfactory way of linking them.
> David Brown
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.