[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Reply to: [list | sender only]
Re: [ddlm-group] Finalizing DDLm
- To: Group finalising DDLm and associated dictionaries <ddlm-group@iucr.org>
- Subject: Re: [ddlm-group] Finalizing DDLm
- From: "Herbert J. Bernstein" <yaya@bernstein-plus-sons.com>
- Date: Fri, 12 Mar 2010 07:44:03 -0500 (EST)
- In-Reply-To: <279aad2a1003112001y2e70cf3cs8befdb2fcd7b0be6@mail.gmail.com>
- References: <4B990DA6.9020006@mcmaster.ca><a06240801c7bed9a64869@192.168.10.193><279aad2a1003112001y2e70cf3cs8befdb2fcd7b0be6@mail.gmail.com>
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]
- Follow-Ups:
- Re: [ddlm-group] Finalizing DDLm (James Hester)
- References:
- [ddlm-group] Finalizing DDLm (David Brown)
- Re: [ddlm-group] Finalizing DDLm (James Hester)
- Prev by Date: Re: [ddlm-group] Finalizing DDLm
- Next by Date: Re: [ddlm-group] Finalizing DDLm
- Prev by thread: Re: [ddlm-group] Finalizing DDLm
- Next by thread: Re: [ddlm-group] Finalizing DDLm
- Index(es):