[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 <[email protected]>
- Subject: Re: [ddlm-group] DDLm aliases (subject changed). .. .
- From: John Westbrook <[email protected]>
- Date: Thu, 27 Jan 2011 07:52:47 -0500
- In-Reply-To: <a06240800c9668e1faa7c@[192.168.2.102]>
- References: <[email protected]> <8F77913624F7524AACD2A92EAF3BFA54166D7D1EDE@SJMEMXMBS11.stjude.sjcrh.local > <[email protected]> <a06240802c96600c48956@[192.168.2.102]> <8F77913624F7524AACD2A92EAF3BFA54166D7D1EE1@SJMEMXMBS11.stjude.sjcrh.local ><a06240800c9668e1faa7c@[192.168.2.102]>
Hi Herbert,
I am trying to understand the mapping of the proposed items to a simple
example from the mmCIF dictionary. Could you provide an example using
the proposed DDL for how the following alias would be represented.
save__geom.details
_item_description.description
; A description of geometry not covered by the
existing data names in the GEOM categories, such as
least-squares planes.
;
_item.name '_geom.details'
_item.category_id geom
_item.mandatory_code no
_item_aliases.alias_name '_geom_special_details'
_item_aliases.dictionary cif_core.dic
_item_aliases.version 2.0.1
_item_type.code text
save_
Thanks,
John
On 1/26/11 10:49 PM, Herbert J. Bernstein wrote:
> 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
>> [email protected]
>> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>
>
--
******************************************************************
John Westbrook, Ph.D.
Rutgers, The State University of New Jersey
Department of Chemistry and Chemical Biology
610 Taylor Road
Piscataway, NJ 08854-8087
e-mail: [email protected]
Ph: (732) 445-4290 Fax: (732) 445-4320
******************************************************************
_______________________________________________
ddlm-group mailing list
[email protected]
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). .. . (Herbert J. Bernstein)
- References:
- Re: [ddlm-group] DDLm aliases (subject changed) (James Hester)
- 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). .. . (Herbert J. Bernstein)
- 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):

