Subject: Benchmark Query Taxonomy

From: (Fabio Grandi) <[email-masked]>
Date: Thu, 13 May 93 18:26:14 +0100

Dear Christian, 
I greatly appreciate your prompt answer to my doubts.

Here are some adds to my previous message.
I hope they can make my previous problems clearer.

I'm sorry I used for the Output-based Taxonomy a syntax improperly 
derived from Fig. 2, without checking its correctness
wrt definitions in Figures 6 and 7.

1) My classification examples (a) and (b) only refer to
   the first part of the taxonomy (i.e. output).

2) With reference to Fig. 2, my classification examples were:

 (a) - (Projected, None) 
     which fits the template: { Projected } x { None }
     and whose correct syntax is: ( Projected, None )

 (b) - (None, (*, "value") )
     which fits the template: { None x { { * } x { "value" } }
     and whose correct syntax is: ( None, *, "value" )
     according to the <output> production rule of Fig. 6.
    
     I used '*' for the "type" field to denote 'any' temporal type
     (i.e. event, interval, or element), whereas I left the name "value"
     to denote a definite value type (i.e. derived or imposed),
     whose choice was the subject of the discussion which followed
     the classification examples.
      
The correct syntax of (b) according to the <reduced output> rule 
    of Fig. 7 is: ( None, Not empty ).

I agree with the classification (Projected, None) of the output
of the query "Find the date of birth of *ED*", as you can see from
my last comments of my first message.

My only problem is that the so retrieved "user-defined time",
is an "explicit-attribute" value that has a meaning of valid-time
even more marked - in my opinion - than the value retrieved by a query
with output (None, *, Imposed) in the taxonomy of Fig. 6.
For this reason I suggested to eliminate the case 'Imposed' from
the "value" component in Fig. 2.

On the other hand, an alternative solution which I tried to suggest
in my previous discussion could be better stated as follows:

We could allow an 'Imposed' value of the valid-time component
of the output to be computed:
 - either by explicit assignment in the query,
 - or from user-defined time attributes
   (of the tuples in the argument relation).

The latter case was not provided for in your taxonomy.
In both cases, we deal with some value which had no valid-time
meaning in the argument data but which we want to have an (imposed)
valid-time meaning in the output produced.

Do you agree with this?

A quite irrelevant - but somehow related - problem
outlined in my first message can be better formulated as:

Is it crucial for the taxonomy the distinction between
"user-defined attribute value" and "computed from other valid times" 
in Fig. 4 (User-defined vs Computed in Fig. 8) ?

Finally, I would like to let you notice that - when transaction-time
will be included in a future version of the taxonomy -
my discussion about using user-defined time where valid-time is required
applies as well to using transaction-time where valid-time is required
(and vice versa). For instance, also transaction-time computed from data
could be used as an imposed value of the valid-time component of
the query output.

Sincerely,
     Fabio Grandi.