Discussion List Archives

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

Re: [ddlm-group] Finalizing DDLm

Dear James,

   For a validating parser that consults the dictionary, a programmer
should see no difference with the interpreation I suggest.  With the
dictionary available, a validating parser would present a single row
loop that the dictionary prefers to have be treated as single values
as those single values, and a collection of single values that the
dictionary prefers to have treated as a loop as a loop.  Nothing
is lost, and the user is saved from dealing with an error that
need nit be treated as an error,  but at most as a warning.

Inasmuch as, under the current rules, all DDLm methods have to come
from dictionaries and not from data files, if the parser is working
on a data file for which no dictionary is available, then the approach
I propose allows for at least some useful interpretation of a
data file -- the same interpretation used by current DDL2 parsers
-- treat any collection of single values from the same category
as if they came from a single row loop.  I am not saying that every
CIF2 data file will be properly readable this way without a dictionary,
but many of them will be.

This is jst another matter of provding a reasonable default coercion
for a case that need not be a fatal error to allow more people to get
useful work done.


  Herbert J. Bernstein, Professor of Computer Science
    Dowling College, Kramer Science Center, KSC 121
         Idle Hour Blvd, Oakdale, NY, 11769


On Fri, 12 Mar 2010, James Hester wrote:

> Herbert: I think David was more concerned about the dictionary
> structure rather than the datafile presentation, but you raise an
> interesting point regarding the equivalence of one-row loops and a set
> of key-value pairs.  Semantic information *is* lost by turning a
> one-row loop into key-value pairs:  we lose the information that these
> dataitems 'belong together', as the key-value pairs are semantically
> on the same level as all the other datablock key-value pairs. This
> information can, of course, be recovered by reference to a dictionary.
> The practical effect of this semantic loss is that programmers will
> not be able to count on the parser pre-packaging loops for them, and
> will thus need to allow for reconstruction of loop datastructures when
> performing per-loop operations (such as in dREL methods).   I don't
> think this is a big problem, but it is an increase in complexity, and
> I do not see what we gain by allowing such an equivalence.
> On Fri, Mar 12, 2010 at 4:37 AM, Herbert J. Bernstein
> <yaya@bernstein-plus-sons.com> wrote:
>> I would favor treating a looped presentation of a single row of items as
>> valid in all cases, and treating the presentation as individual tags
>> and value as equally valid and equivalent.  I also like David's suggestion
>> of allowing a individual tag and value to be distributed over a loop
>> for the same category.  This would start to put us into a parallel position
>> to the handling of XML attributes.
> Regarding distributing individual tags and values over a loop, I think
> the current DDLm approach of 'Set' and 'List' categories combined with
> parent/child relationships is adequate for our needs.
>> At 10:35 AM -0500 3/11/10, David Brown wrote:
>>> Dear Colleagues,
>>> I assume that we are essentially finished in resolving syntax
>>> problems, but in that discussion some items were identified as being
>>> related to DDLm rather than syntax, so before we settle into serious
>>> dictionary writing we need to understand the DDLm rules.
>>> One item that I believe was raised under this heading was whether,
>>> if a loop contained a single set of items, it was necessary to
>>> formally include this in a loop structure.  If this is deemed to be
>>> necessary, then there has to be some way of identifying the items
>>> that must appear in a loop.  The presence in the dictionary of a
>>> _category_key.* item would seem to flag this, but it is applied at
>>> the level of the category rather than at the level of an individual
>>> item.  If the requirement that the loop structure must always be
>>> used, then all the items in the category must be loopable, i.e., the
>>> category cannot include items that would not normally be included in
>>> the loop, items for example that apply equally to all the listed
>>> items such as a scale factor that is the same for all the structure
>>> factors in a loop.  This seems to be workable, but I am not sure how
>>> the legacy CIFs would fit in, since categories may include some
>>> listable item and some non-listable items, and I am sure the
>>> listable items do not always appear in a loop if there is only one
>>> set of such items reported in the CIF.
>>> Is this something that can be clarified fairly easily?  It has an
>>> important bearing on how the CIF dictionaries are written.
>>> David
>>> Attachment converted: Macintosh HD:idbrown 55.vcf (TEXT/ttxt) (0046DFC7)
>>> _______________________________________________
>>> 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
> -- 
> T +61 (02) 9717 9907
> F +61 (02) 9717 3145
> M +61 (04) 0249 4148
> _______________________________________________
> ddlm-group mailing list
> ddlm-group@iucr.org
> http://scripts.iucr.org/mailman/listinfo/ddlm-group
ddlm-group 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.