[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.

Regards,
   Herbert

=====================================================
  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
=====================================================

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
ddlm-group@iucr.org
http://scripts.iucr.org/mailman/listinfo/ddlm-group

Reply to: [list | sender only]