VOTable 1.5 Working Draft (2023-09-13)

Francois Ochsenbein francois.ochsenbein at gmail.com
Mon Oct 16 13:08:45 CEST 2023


Dear Markus,


>Dear François,
>
>On Mon, Oct 16, 2023 at 09:05:50AM +0200, Francois Ochsenbein wrote:
>> VOTable is an important component in the VO, and I'm really not sure
>> it's worth to change the VOTable schema as proposed in section 3.4 —
>> and is it
>
>Well, it's a non-intrusive change that doesn't break anything, so I'd
>say the cost is very low indeed.

==> Sorry, but I disagree on this point: it IS intrusive because:
    "COOSYS element SHOULD also be used to group and label coordinates"
    while in the previous versions care was taken to avoid specific
    requirements about ucd or utypes — in other words keeping VOTable
    generic; it's up to applications to define such requirements. It is
    therefore, at least in my mind, a major change in the VOTable scope.

>> components should be placed ? Also don't forget that the COOSYS
>> element was up to now located at the RESOURCE level, and from there
>> you can't safely reference FIELDs which may exist in several TABLEs;
>> should COOSYS become as a sub-TABLE element? Could the example
>> proposed at the end of section 3.4 work is there are several TABLEs
>> in the RESOURCE ?
>
>Ah: is that the "safely" in you original mail?  Let me try to
>re-phrase it:
>
>  If COOSYS contains references into a TABLE and that TABLE is
>  taken out when re-organising the VOTable, the references in the
>  COOSYS will be dangling.

==> It's worse that this: the referencing may quote FIELDs in different
    TABLEs, which potentially generates a complete mess!

>If that is your concern, it is a valid one, but, really, whenever you
>are manipulating a VOTable by adding or replacing TABLE-s, you have
>to check and re-do all references because, for starters, you may have
>colliding identifiers. When you do that the proposed COOSYS
>references would probably be your least concern.
>
>The difficulties of maintaining referential integrity when writing or
>modifying VOTables are exactly why I am not so enthusiastic about
>your proposal of doing
>
>  <GROUP ucd="pos" ref="coosys-reference">...
>
>-- against having the references as children of COOSYS, it's just one
>extra reference that people need to maintain and work out.
>
>But as I said: If people like the extra GROUP *that* much better than
>a slight extension of COOSYS, they are welcome to write an
>alternative specification (including "how *exactly* are clients know
>a GROUP is defining a set of coordinates) and then change the astropy
>pull request. Very frankly: I expect that these exercises will
>convince just about everyone that just extending COOSYS is the
>rational way to go.
>
>But if not and the extra effort seems worth it, that's fine with me
>as well, and I will fix my server-side implementation to generate
>such GROUP-s.
>
>It's just that *I* don't want to spend a lot of work on what I think
>incurs a significant complication for almost no benefit at all; I
>hope you can sympathise with that sentiment.
>
>For reference:  François'
>
>> <RESOURCE>
>> <COOSYS ID="ICRS-geo" system="ICRS" refposition="geocenter" />
>> <COOSYS ID="ICRS-2016" system="ICRS" epoch="J2016.0"
>> refposition="barycenter" />
>> ...
>>
>> <TABLE>
>>
>> <FIELD ID="col1" name="RA" ucd="pos.eq.ra" unit="deg"
>> ref="ICRS-2016"/> <FIELD ID="col2" name="Dec" ucd="pos.eq.dec"
>> unit="deg" ref="ICRS-2016"/> ...
>> <FIELD ID="col11" name="RA-predicted" ucd="pos.eq.ra" unit="deg"
>> ref="ICRS-geo"//>
>> <FIELD ID="col12" name="Dec-predicted" ucd="pos.eq.dec" unit="deg"
>> ref="ICRS-geo"/>
>> <FIELD ID="col13" name="Date" unit="yr" ucd="time.epoch" >
>> <FIELD ID="col14" name="AU" unit="au" ucd="pos.distance" >
>> ...
>>
>> <GROUP name="astrometry-main" ucd="pos" ref="ICRS-2016">
>>   <DESCRIPTION>Components of the position at the mean
>> epoch</DESCRIPTION> <FIELDref ref="col1" utype="LonLatPoint-lon" />
>>   <FIELDref ref="col2" utype="LonLatPoint-lat" />
>>   ...
>> </GROUP>
>>
>> <GROUP name="astrometry-predicted" ucd="pos" ref="ICRS-geo">
>>   <DESCRIPTION>Individual geocentric computations at reported
>> dates</DESCRIPTION>
>>   <FIELDref ref="col11" utype="LonLatPoint-lon" />
>>   <FIELDref ref="col12" utype="LonLatPoint-lat" />
>>   <FIELDref ref="col13" ucd="time.epoch" />
>>   <FIELDref ref="col14" ucd="pos.distance" />
>>   ...
>> </GROUP>
>> ...
>> </TABLE>
>> </RESOURCE>
>
>would simplify to
>
>  <RESOURCE>
>  <COOSYS ID="ICRS-geo" system="ICRS" refposition="geocenter">
>    <FIELDref ref="col1" utype="LonLatPoint-lon" />
>    <FIELDref ref="col2" utype="LonLatPoint-lat" />
>  </COODYS>
>  <COOSYS ID="ICRS-2016" system="ICRS" epoch="J2016.0"
>  refposition="barycenter" >
>    <FIELDref ref="col11" utype="LonLatPoint-lon" />
>    <FIELDref ref="col12" utype="LonLatPoint-lat" />
>    <FIELDref ref="col13" ucd="time.epoch" />
>    <FIELDref ref="col14" ucd="pos.distance" />
>  </COOSYS>
>  <TABLE>
>
>  <FIELD ID="col1" name="RA" ucd="pos.eq.ra" unit="deg"
> ref="ICRS-2016"/> <FIELD ID="col2" name="Dec" ucd="pos.eq.dec"
> unit="deg" ref="ICRS-2016"/> ...
>  <FIELD ID="col11" name="RA-predicted" ucd="pos.eq.ra" unit="deg"
>  ref="ICRS-geo"//>
>  <FIELD ID="col12" name="Dec-predicted" ucd="pos.eq.dec" unit="deg"
>  ref="ICRS-geo"/>
>  <FIELD ID="col13" name="Date" unit="yr" ucd="time.epoch" >
>  <FIELD ID="col14" name="AU" unit="au" ucd="pos.distance" >
>  ...
>
>  </TABLE>
>  </RESOURCE>
>
>(where I'd have to see some code exploiting FIELDrefs with ucds
>rather than utypes before I'd admit that's a good idea).  I think you
>can guess that in particular in parsing code, that's *a lot* easier
>to deal with.
>

==> It looks like a joke, where is the simplification ? The change
    proposed in COOSYS is not robust, since references can only be
    placed BEFORE their definition, therefore forbidding a simple
    streaming processing; and the FIELDs required for a complete
    interpretation of the astrometry may concern other components
    not concerned a priori by the coordinate system, like time or
    wavelength. Putting those in a COOSYS envelope looks at least
    strange…

>
>             Markus

Cheers, François
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ivoa.net/pipermail/apps/attachments/20231016/fd19902a/attachment.htm>


More information about the apps mailing list