[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Reply to: [list | sender only]
Re: [ddlm-group] DDLm aliases (subject changed). .. .
- To: Group finalising DDLm and associated dictionaries <ddlm-group@iucr.org>
- Subject: Re: [ddlm-group] DDLm aliases (subject changed). .. .
- From: "Herbert J. Bernstein" <yaya@bernstein-plus-sons.com>
- Date: Wed, 26 Jan 2011 22:49:41 -0500
- In-Reply-To: <8F77913624F7524AACD2A92EAF3BFA54166D7D1EE1@SJMEMXMBS11.stjude.sjcrh.local>
- References: <AANLkTi=ATdNovWFiecEwDrbtMdTwZ7guvYuBCGrdnb-i@mail.gmail.com><8F77913624F7524AACD2A92EAF3BFA54166D7D1EDE@SJMEMXMBS11.stjude.sjcrh.local> <4D404DAA.8070804@mcmaster.ca><a06240802c96600c48956@[192.168.2.102]><8F77913624F7524AACD2A92EAF3BFA54166D7D1EE1@SJMEMXMBS11.stjude.sjcrh.local>
So, to pull it all together, see below. Please review and see what I have missed, mistyped or failed to convert from some earlier incarnation. Comments, corrections and suggestions greatly appreciated. I have not yet included the type change for _dictionary_xref.format because I am not sure a single word code would be sufficient to describe the format of any given dictionary, so for the moment it is still Text. -- HJB save_definition.xref_code _definition.id '_definition.xref_code' _definition.update 2011-01-26 _definition.class Attribute _description.text ; Code identifying the equivalent definition in the dictionary referenced by the DICTIONARY_XREF attributes. Use of _definition.xref_code is deprecated in favor of use of _alias.xref_code ; _name.category_id definition _name.object_id xref_code _type.purpose Identify _type.container Single _type.contents Code save_ save_ALIAS _definition.id alias _definition.scope Category _definition.class List _definition.update 2011-01-26 _description.text ; The attributes used to specify the aliased names of definitions. Every tag has an implicit alias to itself with a null _alias.xref_code to allow use of the primary tag in the ALIAS_ENSEMBLE category. ; _category.parent_id ddl_attr _category_key.primitive ['_alias.definition_id', '_alias.xref_code'] save_ save_alias.definition_id _definition.id '_alias.definition_id' _definition.class Attribute _definition.update 2006-11-16 _description.text ; Identifier tag of an aliased definition. ; _name.category_id alias _name.object_id definition_id _type.purpose Key _type.container Single _type.contents Tag save_ save_alias.deprecated _definition.id '_alias.deprecated' _definition.class Attribute _definition.update 2006-11-16 _description.text ; Specifies whether use of the alias is deprecated ; _name.category_id alias _name.object_id definition_id _type.purpose STATE _type.container Single _type.contents YesorNo _enumeration.default No save_ save_alias.dictionary_uri _definition.id '_alias.dictionary_uri' _definition.update 2011-01-26 _definition.class Attribute _description.text ; Dictionary URI in which the aliased definition belongs. _alias.dictionary_uri is deprecated in favor if _alias.xref_code ; _name.category_id alias _name.object_id dictionary_uri _type.purpose Identify _type.container Single _type.contents Uri save_ save_alias.xref_code _definition.id '_alias.xref_code' _definition.update 2011-01-26 _definition.class Attribute _description.text ; Code identifying the dictionary containing the primary definition of the dictionary as given in the DICTIONARY_XREF category. ; _name.category_id definition _name.object_id xref_code _name.linked_item_id '_dictionary_xref.code' _type.purpose Key _type.container Single _type.contents Code save_ save_ENSEMBLE _definition.id ensemble _definition.scope Category _definition.class List _definition.update 2011-01-26 ; Data items used to describe the ensemble identifiers used in this dictionary. Data items in this category are NOT used as attributes of individual data items. See linked item _alias_ensemble.ensemble_id. ; _category.parent_id ddl_attr _category_key.generic '_ensemble.id' save_ save_ensemble.id _definition.id '_ensemble.id' _definition.class Attribute _definition.update 2011-01-26 _description.text ; A code identifying an ensemble of related tags. To help ensure that dictionaries can be merged, each code should either begin with an IUCr-registered prefix or if not prefixed, have been approved by COMCIFS. The special prefix 'local_' may be use for purely internal purposes of an organization. ; _name.category_id ensemble _name.object_id code _type.purpose Key _type.container Single _type.contents Code save_ save_ensemble.description _definition.id '_ensemble.description' _definition.class Attribute _definition.update 2011-01-26 _description.text ; A description of the ensemble ; _name.category_id ensemble _name.object_id code _type.purpose Describe _type.container Single _type.contents Text save_ save_ALIAS_ENSEMBLE _definition.id alias_ensemble _definition.scope Category _definition.class List _definition.update 2011-01-26 ; The attributes used to specify the ensemble of tags to which a given tag belong. A given tag may belong to multiple ensembles and may be cited against multiple dictionaries. ; _category.parent_id alias _category.parent_join Yes _category_key.primitive ['_alias_ensemble.ensemble_id', '_alias_ensemble.definition_id', '_alias_ensemble.xref_code'] save_ save_alias_ensemble.definition_id _definition.id '_alias_ensemble.definition_id' _definition.class Attribute _definition.update 2011-01-21 _description.text ; Identifier tag of a definition associated with an xref code by which to group this tag with other tags. A given tag may belong to multiple ensembles and may be cited against multiple dictionaries. Note that the tag does not have to be a valid tag under DDLm tag construction rules, but it should be a valid tag under the rules of some DDL. ; _name.category_id alias_ensemble _name.object_id definition_id _name.linked_item_id '_alias.definition_id' _type.purpose Key _type.container Single _type.contents Code save_ save_alias_ensemble.ensemble_id _definition.id '_alias_ensemble.ensemble_id' _definition.class Attribute _definition.update 2011-01-26 _description.text ; A code identifying an ensemble of related tags. To help ensure that dictionaries can be merged, each code should either begin with an IUCr-registered prefix or if not prefixed, have been approved by COMCIFS. The special prefix 'local_' may be use for purely internal purposes of an organization. ; _name.category_id alias_ensemble _name.object_id code _name.linked_item_id '_ensemble.id' _type.purpose Key _type.container Single _type.contents Code save_ save_alias_ensemble.xref_code _definition.id '_alias_ensemble.xref_code' _definition.class Attribute _definition.update 2011-01-21 _description.text ; A code identifying the actual dictionary, virtual dictionary or other logical grouping to which the identifier tag belongs. ; _name.category_id alias_ensemble _name.object_id code _name.linked_item_id '_dictionary_xref.code' _type.purpose Key _type.container Single _type.contents Code save_ At 2:29 PM -0600 1/26/11, Bollinger, John C wrote: >On Wednesday, January 26, 2011 11:34 AM, Herbert J. Bernstein wrote: > >>OK, so we need to pick a non-conflicting name for the tag that gives >>the unifying identifier that will satisfy John W.'s concerns and >>James's concerns, but that will not preclude John B. and David's >>preference to allow the presentation to be unified with the >>xref_code. How about "ensemble_id". This is a distinct concept >>from the identifier of the dictionary itself, because one >>dictionary can contain multiple ensembles and one ensemble >>can span multiple dictionaries. > >Ok, that makes sense. > >> Here is my modified version of John B.' proposal: > >I think we are close here. There are a couple of additions I would >like to see to Herbert's version of the proposal, however. Rather >than quote the whole thing, I include it verbatim below, with my >additions at the bottom and additional commentary following: > > >1) Deprecate _alias.dictionary_uri. > >2) Add as a of subcategory of alias, alias_ensemble with the following >tags: > >_alias_ensemble.definition_id > a tag identifier belonging to an ensemble >_alias_ensemble.ensemble_id > a code identifying an ensemble of tags to which the tag belongs >_alias_ensemble.xref_code > >All of these tags are members of the composite key of the sub >category, so that it is possible to have a physical dictionary >the same tag in multiple ensembles, or to break out this subcategory >as a master index running over all tags alias giving both the >physical dictionaries from which they are taken and and the >ensembles to which they belong. > >3) Add tag > >_alias.xref_code > >to the alias category > >_alias.xref_code specifies the physical dictionary from which the >preferred definition of the tag alias has been taken, or is null >if the current dictionary is the primary definer of the tag alias. >This tag is the parent of _alias_ensemble.xref_code. There are >some technical issues on use of the join mechanism, and which >tags are keys, but they can be resolved if the flattened version >is truly desired. > > >4) Add tag: > >_alias.deprecated: Specifies whether use of the alias is deprecated. > _type.purpose State > _type.container Single > _type.contents YesorNo > >5) Modify the definition of _dictionary_xref.format by changing its >_type.contents attribute to "Code". > >6) Deprecate _definition.xref_code (its purpose will be served via >the alias mechanism) > > >---- >JCB Adds: >---- > >7) In the ALIAS category, replace attribute _category_key.generic with: > _category_key.primitive [ '_alias.xref_code' '_alias.definition_id' ] > >This is still appropriate, inasmuch data names are not guaranteed to >be globally unique across all dictionaries. For that matter, if it >were inappropriate here then there would be no need for >_alias_ensemble.xref_code, as no _alias.definition_id could be >associated with more than one xref_code, and that one would be >specified by _alias.xref_code. > > >8) Modify the description of the DICTIONARY_XREF category to: "The >DICTIONARY_XREF attributes identify and describe logical or physical >dictionaries to which items in the current dictionary are >cross-referenced using the _definition.xref_code or _alias.xref_code >attribute." > >I still think the concept of a logical dictionary is a sound and >useful one, even alongside Herbert's _alias_ensemble idea. This >wording change accommodates the concept without requiring any new >attributes. Be it known, however, that if we agree to this then >corresponding slight adjustments may be needed to the definitions of >some of the other existing attributes in the DICTIONARY_XREF >category. I think those can be discussed later, when and if the >time comes. > >Naturally, if _definition.xref_code were removed instead of >deprecated, then this definition should not refer to it. > >======== > > >I can live with deprecating _definition.xref_code and >_alias.definition_uri, though my preference is still to remove them. >Inasmuch as, to my knowledge, DDLm has so far been published and >distributed only in draft / for-comments form, it will indeed be a >new standard when it eventually is accepted by COMCIFS. Those >developers and dictionary authors already working with the draft >should be doing so with the understanding that it is subject to >change. Also, I suspect we will consider further >possibly-disruptive changes before we are done, and I am loathe to >set a precedent that compatibility with the draft is a supremely >compelling concern. > >Nevertheless, deprecation vs. removal of these attributes is too >small a detail to be hung up over. When we are ready to vote on the >overall proposal, I would prefer to vote separately on that question >-- separately for each attribute, in fact. In the mean time, let's >proceed. > >Question to consider: should there be a means in the DDL to identify >the significance of a particular ensemble, at least for the benefit >of humans? That might take a form as simple as a dictionary-scoped >ENSEMBLE category, with attributes _ensemble.ensemble_id and >_ensemble.description. > >I note also that Herbert did not bring forward my proposed >_alias.dictionary_version attribute into his version of the >proposal, nor have I added it back to this version. I see only >limited potential use for it, and I am not prepared to argue for it. >Others of you may think differently, however. > > >Regards, > >John > >-- >John C. Bollinger, Ph.D. >Department of Structural Biology >St. Jude Children's Research Hospital > > > >Email Disclaimer: www.stjude.org/emaildisclaimer > >_______________________________________________ >ddlm-group mailing list >ddlm-group@iucr.org >http://scripts.iucr.org/mailman/listinfo/ddlm-group -- ===================================================== Herbert J. Bernstein, Professor of Computer Science Dowling College, Kramer Science Center, KSC 121 Idle Hour Blvd, Oakdale, NY, 11769 +1-631-244-3035 yaya@dowling.edu ===================================================== _______________________________________________ ddlm-group mailing list ddlm-group@iucr.org http://scripts.iucr.org/mailman/listinfo/ddlm-group
Reply to: [list | sender only]
- Follow-Ups:
- Re: [ddlm-group] DDLm aliases (subject changed). .. .. . (Bollinger, John C)
- Re: [ddlm-group] DDLm aliases (subject changed). .. . (John Westbrook)
- References:
- Re: [ddlm-group] DDLm aliases (subject changed) (James Hester)
- Re: [ddlm-group] DDLm aliases (subject changed). . (Bollinger, John C)
- Re: [ddlm-group] DDLm aliases (subject changed). . (David Brown)
- Re: [ddlm-group] DDLm aliases (subject changed). . (Herbert J. Bernstein)
- Re: [ddlm-group] DDLm aliases (subject changed). .. . (Bollinger, John C)
- Prev by Date: Re: [ddlm-group] DDLm aliases (subject changed). .. .
- Next by Date: Re: [ddlm-group] DDLm aliases (subject changed). .. .
- Prev by thread: Re: [ddlm-group] DDLm aliases (subject changed). .. .
- Next by thread: Re: [ddlm-group] DDLm aliases (subject changed). .. .
- Index(es):