ivoa-std / MANGO

Model for Annotating Generic Objects in VOTables
2 stars 8 forks source link

Meas/Coord extensions #27

Closed mcdittmar closed 1 month ago

mcdittmar commented 3 years ago

Sorry for the long list here, I think that by trying to push everything under Measure, this section got rather complicated. We may need to tackle these in waves as we hit the cases in implementation. Some are already mentioned in Issue #26.

mcdittmar commented 3 years ago

I may want to amend my comments on Flag. Looking at the 'Group Columns', it uses the Flag property. There, the Quality Flag is an associated parameter, but is basically an evaluation of the 'goodness' based on the measurement value error.

So, in this usage, Quality is not an independent Property, but a qualifier assigned to a Property. Many Properties could have Quality assignments (derived in different ways). This leads me to think that quality is maybe a attribute on Property.

lmichel commented 3 years ago

I do not seen the gain we have by using a specific attribute for flags instead of using the associatedParameter scheme.

lmichel commented 3 years ago

VocabGenericMeasure StringGenericMeasure

Depends whether Parameter is split or not

HardnessRatio

By doing this, you are breaking the homogenity exposed in #26. It is important to extends somehow to all properties the concept of meas/coord/coord_sys As you look concerned by the way I'm using MCT, we could imagine another pattern linking values, with errors and data spaces where there are valid. So that the Parameter split you proposed in #26 could be shifted into that new pattern and the uniqueness of the interface would possiblybe saved.

Photometry Orbit Shape

Need further discussions with Marco and Jesus

ObjectTypeCoord Simbad usecase not clear yet

mcdittmar commented 3 years ago

I do not seen the gain we have by using a specific attribute for flags instead of using the associatedParameter scheme.

  • Most of the properties have no flag at all
  • Some have several
  • Flag are not related to any specific property (XMM detection flag)

My experience for what we are talking about for Flag is a qualifier on a property

There may be other Qualifiers/Flags which relate to the Source as a whole but are not a Property of the source.

mcdittmar commented 3 years ago

HardnessRatio

By doing this, you are breaking the homogenity exposed in #26.

Yes, a HardnessRatio (and other similar ratios) are a different kind of Measure, and should be accessed differently. This is exactly why there is an abstract Measure (with no 'coord' at the base level).

It is important to extends somehow to all properties the concept of meas/coord/coord_sys

I strongly disagree here. The model should describe the entities as they are. To force concepts like Error, Coord, CoordSys on entities like StellarClass is a mistake. When you extend Measure, you are saying that "this thing IS a Measure" and the concepts related to it apply.. Error being the most basic.

As you look concerned by the way I'm using MCT, we could imagine another pattern linking values, with errors and data spaces where there are valid. So that the Parameter split you proposed in #26 could be shifted into that new pattern and the uniqueness of the interface would possibly be saved.

I'm not sure what you mean here, but would be happy to discuss alternatives. If you emphatically need classification.error to be part of the API, I'd say that is at the tool implementation level, the Model would have no such concept. This method would always return a NULL.

mcdittmar commented 3 years ago

I do not seen the gain we have by using a specific attribute for flags instead of using the associatedParameter scheme.

  • Most of the properties have no flag at all
  • Some have several
  • Flag are not related to any specific property (XMM detection flag)

The raw file for the "Identity" case is a good example for exercising the Quality usage too. It has ~ 9 Properties, 7 have a Quality assignment, both Measurement and Classification types.

Most of these also have a "Bibcode reference" associated with them. I would not consider these Source Property-s either (they don't pertain to the Source, but rather the Property itself). I'm not sure what these are, or how common in catalog data. If common, could also be an attribute on Property, if not, they maybe part of a local extension, but not part of the core model.

lmichel commented 3 years ago

The raw file for the "Identity" case is a good example for exercising the Quality usage too. It has ~ 9 Properties, 7 have a Quality assignment, both Measurement and Classification types.

I took a Simbad output on purpose, but this very specific. This is an interesting case because all Simbad data are compilation of values extracted from various catalogues. In general we do not have quality flags.

If we reshape Mango with a distinction between physical parameters and let's say labels, bib_code relate to the latest.

Bonnarel commented 3 years ago

HardnessRatio

By doing this, you are breaking the homogenity exposed in #26.

Yes, a HardnessRatio (and other similar ratios) are a different kind of Measure, and should be accessed differently. This is exactly why there is an abstract Measure (with no 'coord' at the base level).

HardnessRatio doesn't belong to direct observational quantities. Can be compared to estimated Physical quantities such as metallicity, density, temperature. All this belong to a physical space where our astronomical objects are located. So they all look like coordinates to my eyes.