Spectral DM VOTable serializaiton issues

Igor Chilingarian chil at sai.msu.ru
Fri Mar 9 10:22:50 PST 2007


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



More information about the dm mailing list