Hi Nausicaa,
I said:
>> Users are not going to understand these distinctions.
and you said a bunch of stuff ending with:
> ... so here I would assign meta.id;meta.class or better
> meta.id;meta.class.part?
This was in regard to some specific question of usage that is neither here nor there at the moment. What is both here and there is that you - an expert for some question of IVOA usage - are now arguing with yourself about the correct answer. I'll say it again - users are not going to understand how to use UCDs. This may or may not be acceptable - it depends on whether our users will ever need to either parse other people's UCDs or create their own.
More generally, the question isn't whether UCDs make *any* sense - there appears to be a defensible logic behind every individual distinction that is raised. The question is whether the same logic lies behind all choices - and further, whether the logic is stable over time. I recommend:
> a code is a coding system used for transmitting messages requiring
> brevity or secrecy
But "code" also means a way of representing a message in a new medium, e.g., ASCII. Code can be error detecting or correcting. A code can be a statute, that is, a rule. I see the "brevity or secrecy" definition at dictionary.com, but there many other entries: genetic code, a patient whose heart has stopped :-(, source code. In the latter case, we learn that the word "code" is used specifically to distinguish instructions from data ("often used in opposition to 'data'") - and yet, here we are applying it to (meta)data. I'm getting a code in my node.
It isn't that I don't understand the logic behind the choice - it's that many other choices are just as logical. Why make *this* choice? And second, why specifically meta.code.class and *not* meta.class.code or meta.class;meta.code or any of the many other variations? Given the basic rules of UCDs and a list of atoms, a motivated undergraduate should be able to recreate the master list to a couple of sigma - heck, an awk script should be able to do it.
But what is one to do with a rule like: "after the primary word, subsequent words are arranged by decreasing importance"? Importance to whom and for what purpose? The rule for atoms is even more ethereal: "the order of these atoms induces a hierarchy". We also have: "the only possible validation of the selected vocabulary is to check its ability to describe properly a wide range of real data". Check how? Define "properly". How about a Monte Carlo test of a canonical ensemble of alternate vocabularies? :-) Perhaps I simply don't understand the rules yet. I doubt I'm alone.
I think there is reason to worry if the official list of UCDs can only be justified a posteriori. If nobody else feels the same way, by all means continue with the adoption of the new batch. In addition to versioning and a verification tool, I would then reiterate my support for retaining the ability to namespace UCDs.
> If you assign shortcuts to the categories ('S' for 'SCIENCE', 'C'
> for 'CALIB' etc),
> the correct UCD is meta.class.code since the UCD recommendation
> says that the order
> of the atoms induces a hierarchy.
Ok. So *both* meta.code.class and meta.class.code are to be supported? And is our software supposed to be able to understand these razor thin distinctions and do something usefully different?
> Now the question is: are there codes that are not part of a
> classification system?
> If no, I would drop meta.code and all columns previously assigned
> meta.code.class
> should be re-assigned meta.class.code.
Again - versioning. If our databases aren't to be held hostage to the vagaries of future drifts in UCD usage, they need to be able to refer to a specific, permanently stable, list of UCDs that was in effect when the columns were assigned. I suspect I'm not the only archivist to feel a chill at the sight of the word "re-assign" :-)
> Strictly speaking, I don't think a code is an enumeration.
> An enumeration is a detailed account, in which each thing is
> specially noticed.
> However, 'code' and 'enumeration' are sometimes used for the same
> thing.
> It is something like a language shortcut.
Ok - I'm all for precision of expression. We have:
And we have the rule that "the order of the atoms induces a hierarchy", so each of:
meta.code.class.enum, meta.code.enum.class, meta.class.code.enum, meta.class.enum.code, meta.enum.class.code, and meta.enum.code.class
are distinctly different in the obvious way :-)
> they will have to look at the examples and that will solve the
> ambiguity.
> That is why we need to provide examples.
> Learning by example allows to grasp the basics more easily.
I haven't heard anybody argue against providing examples, but the assertions of solving ambiguities and grasping basics should be challenged by providing IVOA beta testers with such examples and requesting they a) describe the meaning of the examples, and b) use the knowledge gained to create new UCDs representing various concepts.
I suggest this worthy goal continue: "The UCD working group has tried to resist the temptation to allow the UCD syntax to be overly expressive."
Rob Received on 2006-07-27Z18:22:59