Followup to Re: utype questions
thomas at astro.umd.edu
Mon Jul 6 08:57:31 PDT 2009
On Thursday 02 July 2009, you wrote:
> The main point I think you are missing is that UTYPE is not a complete
> stand-alone mechanism for modeling or storing complex data (nor is UCD,
> VOTable, FITS, etc.). It only addresses a portion of the problem.
> So for example, there is nothing about UTYPE which is specific to
> VOTable, or FITS, or a DBMS, or a Java class, or a param file, etc.,
> hence we do not need to discuss all these applications in the UTYPE
> specification. Nor does UTYPE tell us how to model complex data.
I will assume you mean by that last sentence only key-value pairs and
nothing more complex than that.
From reading the UTYPE documentation, this is not clear at all. Mention is given
of being able to do complex hierarchies (in syntax, grouping/nesting for disambiguation
of repeated instances which are complex hierarchies; you don't need the nesting
mechanism for key-value level complexity).
I can accept that complex hierarchies are NOT part of the UTYPE spec, but
if that is the case, then there should be no mechanisms for this sort of thing in
the UTYPE spec itself. Instead, I see that the UTYPE syntax mentions 'collection' and
'reference' properties in addition to an attribute property (which binds a model
element to a value in the instance). That's pretty confusing. Why would that
stuff be built into the UTYPE spec if its not going to prescribe how to handle
The implementation should look to the UTYPE spec for all of the mechanism for
handling hierarchies, or it should be free to make up its own mechanism. Having
this half-way specification (FITS doesn't have mention on how to handle nesting/
grouping for repeated instances of a model, or how referencing will work, nor are
collections explained at all) seems sloppy to me. If UTYPEs are truly universal to
all implementations, then you should cut a new addendum document for each
separate implementation to describe how UTYPEs are to be implemented (e.g. a
separate document for VOTable, FITS, ADQL, etc, as needed).
Finally, IF I now understand this correctly, if UTYPEs are not to handle complex
hierarchies, then all this truly amounts to a semantic tagging exercise (note: I didn't
say the 'O' word. Semantic tagging not necessarily the same thing as Ontologies;
although the first thing I might do is to gather up all of the UTypes and build one ;)
More information about the dm