[QUANTITY] The discussion so far

Ray Plante rplante at poplar.ncsa.uiuc.edu
Fri Oct 31 08:39:11 PST 2003


On Thu, 30 Oct 2003, Jonathan McDowell wrote:
> Here's my understanding of the issues so far, 

Thank you!

> What should Q be called? Is Quantity an OK name?

I agree with Gerard's point that we need to clarify what we're 
modeling--that is, *semantically* what are we talking about.  I think the 
general definition I gave before is a good starting point, but it will be 
refined when we decide what's included:

Here's what I think is a sensible cut:

   Quantity -- the description of the value itself
   Measurement -- a Quantity and its context: where in the measurement 
      space it corresponds to and its relationship to other concepts 
      (i.e. properties). 
   Image, Spectrum, Observation (?) -- examples of collections of 
      heterogeneous Measurements.  There may be one Measurement that is 
      primary (the "data") but other Measurements ("metadata") are needed 
      to properly process the primary one.

   Phenomenon -- I agree that this is separately modelable concept.

My interpretation of these semantics in terms of where the various 
attributes go:
   Quantity: 
      the phenomenon name
      the (numeric) value
      the unit
      the error:  with the perspective of an error describes a probability 
          distribution for the true value.  
   Measurement:
      WCS
      quality

Given this cut, a Position, for example, would be a type of Measurement.

You could put the WCS and quality as optional bits of Quantity; however, 
that changes the semantics.  You would need to adjust the definitions 
above accordingly. 

> Is the name of the (phenomenon, variable, etc) part of Q?
>  McDowell: I would like to see a name as part of Q - then scalar Qs
>   can serialize as a FITS keyword.

It's probably a good idea; however, in practice, I expect that we won't be 
handling generic Quantity objects, but specialized versions (e.g. 
Frequency) in which the name is locked in.

> Does Q support arrays? Multi-dim arrays?

In short, I say yes; however, I think arrays (of any D) only make sense if 
the values are fully homogeneous--i.e. same unit, same error model.  
Otherwise Q becomes much more complicated.  It would be easier to create 
an aggregation of Qs to handle the individual tagging of components.  

This constrains vector quantities to cartesian coordinates; in 
polar coordinates, the units are not uniform.  

Note however, I would not put strong emphasis on any requirement intended 
to support hold large arrays in a quantity (e.g. image data).  When we get 
to moving these things around (through function calls or across the 
internet), storage efficiency issues become important.  In practice, I 
expect we will use Quantity components to "tag" data stored in various 
containers (FITS, VOTable, etc.).  

> Does Q support complex types?
>  McDowell: suggest we not rule this out, but an initial implementation  
>    would only support basic datatypes.

Agreed.

> Should Measurement inherit from Q vs use it as e.g. aggregation?
>  (Thomas yes, inherit?)
>  (Didelon no, aggregate)
>  (McDowell no, aggregate)
>  (Lemson no, "uses")
(Plante no, aggregate)

> Should Q support string values?
>  (Thomas, Oct 25 0845, yes)
>  (Plante, Oct 29, no)
>  (McDowell, strongly yes)

I agree with Gerard that string values should be handled as a 
"Classification".   To be convinced otherwise, I need an example of string 
type that semantically supports the concept of an Error.  (It probably 
needs to pass some mathematical muster as well: can you multiply and 
divide with it?)

> Should Q also be used for metadata?

In my mind, This is the primary use for the data model.  As I've said 
before, "data" may use some other storage mechanism.  

cheers,
Ray




More information about the dm mailing list