Spectral DM VOTable serializaiton issues

From: Igor Chilingarian <chil-at-sai.msu.ru>
Date: Fri, 9 Mar 2007 21:22:50 +0300 (MSK)


Dear Jonathan and DM group,

Recently I've implemented Spectral DM for the extracted spectra from Euro3D FITS files (in the VO-Paris Euro3D Client). My implementation is based on the latest draft found on Jonathan's homepage (v1.00 rc1 rev2).

I've found some minor issues in the VOTable serialization example on pp.55-58 concerning UTypes.

I haven't checked carefully other serializations, because I was implementing only VOTable.

As far as I understand, the utypes are supposed to be unique identifiers of the data model elements, and they should be useful to trace the document structure. Therefore I have some questions.

  1. Both RESOURCE element and its child TABLE have the same "spec:Spectrum" utype. I think this is undesirable from the integrity point of view.
  2. In some places utypes are prefixed with "Spectrum." (CoordSys group, for examples), in some places not (Target, Char groups, etc.) I would prefer is all they conform to some convention -- either we should use the "Spectrum." prefix everywhere, or we should omit it, but also everywhere -- it will make things clearer. I will continue assuming that we keep "Spectrum."
  3. Hereafter I will use "=>" as equivalent for "to be replaced with" In "Char.SpatialAxis" section there are:
    "name" => "spec:Spectrum.Char.SpatialAxis.Name"
    "spec:Char.Coverage" => "spec:Spectrum.Char.SpatialAxis.Coverage"
    "spec:Char.Coverage.Location" => "spec:Spectrum.Char.SpatialAxis.Coverage.Location"
    "spec:Value" => "spec:Spectrum.Char.SpatialAxis.Coverage.Location.Value"
    "spec:Bounds" => "spec:Spectrum.Char.SpatialAxis.Coverage.Bounds"
    "spec:Extent" => "spec:Spectrum.Char.SpatialAxis.Coverage.Bounds.Extent"

In "Char.TimeAxis" - similar things.

"name" => "spec:Spectrum.Char.TimeAxis.Name"
"Coverage" => "spec:Spectrum.Char.TimeAxis.Coverage"
"Location" => "spec:Spectrum.Char.TimeAxis.Coverage.Location"
"Value" => "spec:Spectrum.Char.TimeAxis.Coverage.Location.Value"
"Bounds" => "spec:Spectrum.Char.TimeAxis.Coverage.Bounds"
"Extent" => "spec:Spectrum.Char.TimeAxis.Coverage.Bounds.Extent"

"Range" => "spec:Spectrum.Char.TimeAxis.Coverage.Bounds.Range"
Here I do not really understand why to put "Range" in a separate group.

"Start" => "spec:Spectrum.Char.TimeAxis.Coverage.Bounds.Start"
"Stop" => "spec:Spectrum.Char.TimeAxis.Coverage.Bounds.Stop"

The same for "Char.SpectralAxis" group -- will not repeat again.

4) Curation group:

   "spec:Segmenet.DataID.Creator" => "spec:Spectrum.DataID.Creator"

5) Definition of fields, "FluxAxis" group

   "SysErr" => "spec:Spectrum.Data.FluxAxis.Accuracy.SysErr"

That's all for a moment. If I find anything else, I will let you know.

With best regards,

                                                 Igor Received on 2007-03-09Z19:23:25