[masses of DDL verbiage deleted - many thanks to John for a lot of helpful comments.]. > One the major reasons for making these optional was to avoid the > the possibility of an inconsistent update in redundant data definitions. > From my last look at the mmCIF dictionary it appears that most of these > instances now include a complete respecification of at least the > item category (which includes the mandatory code). I would prefer if > we could simply not include the redefinition of the item category > if this were acceptable everyone My current thinking is that this would be the best solution, although I am ready to be persuaded otherwise. Paula said on mmciflist: > I'm not going to go into a discussion of why we decided to carry _item.name > and _item.mandatory_code in the stand-alone definitions for each of the data > items that also definted as a child in a parent tree. In fact, although I > can remember the discussion about adding _item.name, I can't recall why it > was necessary to add _item.mandatory_code. In the light of your comments, I guess that given that _item.name has to be there, _item.mandatory_code is necessary to avoid the possibility of partial row updates. Since I wasn't around for the discussion I don't know the arguments for re-specifying the ITEM category at all, and I find it hard to see why it was thought necessary. If there is simply a requirement for the data item's name to be repeated somewhere within the save frame, it might be better to do this with _item_description.name, rather than _item.name. This would then avoid the need to re-specify _item.mandatory_code. Both the ITEM_DESCRIPTION category, and the _item_description.description item, are mandatory anyway, so this would be a good way to do it. (Making this change might seem to involve some hard work at first sight, but I could kludge my own code to do it fairly quickly, if necessary.) > As I explained before, we are in a catch 22 situation here. If we make this > mandatory, then it must be respecified for each redundant item in the > dictionary. We very much wish to minimize this sort of redundancy as > much is this is possible. I appreciate the problems that this > causes with respect to data type .. What if we expand the enumeration > for mandatory_code to include "mandatory/inherit" which formally specifies that > an item is required and can inherit the property of a parent. If there is no > parent or the value is not specified then it there is clearly an error > condition. This would involve a rather small change to the DDL that > would not require any changes in the mmCIF dictionary. Personally I'd be very happy with that. I take it that you are suggesting that _item.mandatory_code should be "inherit" for _item_type.code? From my own work, I am starting to realise that these are the two items which are really crucial in the handling of real data - if there are problems with them, there is no way out. Am I right in thinking that the _category.mandatory_code item for the ITEM_TYPE category should then also be changed to yes, since all of its member items would have a mandatory code of implicit or inherit? I guess that the likely impact on the dictionaries should be the main consideration here. Regards, Peter. P.S. I have been wondering how many people read this list, and how many of those are active developers. Does anyone know? ======================================================================== Peter Keller. \ "We kill the cows to make jackets out of Dept. of Biology and \ them, and then we kill each other for the Biochemistry, \ jackets we made out of the cows." University of Bath, \ --- Denis Leary Bath, BA2 7AY, UK. \ ------------------------------\----------------------------------------- Tel. (+44/0)1225 826826 x 4302 | Email: P.A.Keller@bath.ac.uk (Internet) Fax. (+44/0)1225 826449 | P.A.Keller%bath.ac.uk@UKACRL (BITNET) ========================================================================