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