Versioned standardIDs for standard vocabularies? Also, including IVOA attributes in Avro schemas
Markus Demleitner
msdemlei at ari.uni-heidelberg.de
Thu Mar 19 09:04:44 CET 2026
Dear Gregory,
On Thu, Mar 19, 2026 at 03:43:56AM +0000, Dubois-Felsmann, Gregory P. via semantics wrote:
> ivo://ivoa.net/std/VOUnits
> ivo://ivoa.net/std/UCD1+ (or does the "+" have to be escaped?)
These are IVOA identifiers, which means that they must resolve to
Registry records. A simple way to ensure this is to just prepend
https://dc.g-vo.org/I/ to them and see what happens.
That way, it turns out *one* way to reference UCDs is
ivo://ivoa.net/std/UCD (which is the UCD standard rather than the UCD
list; I don't think the latter has a standards record yet, but I also
think the base spec is the better target).
Incidentally, in this context you wouldn't escape the plus; you'd
only need to do that if this were a x-www-urlencoded parameter.
> but there are a couple of issues. For one thing, unlike, e.g.,
> DataLink, neither of the above standards defines a `standardID`; it
> seems like that's because we only define `standardID`s for services
> that might appear in the Registry?
See StandardsRegExt; basically, we do StandardsRegExt documents when
identifiers need to resolve.
> For another, I did some web searching on whether there was a way to
> include the version, as some other VO `standardID` values do, with
> a fragment identifier, but it looks like cases like the
> well-attested
>
> ivo://ivoa.net/std/DataLink#links-1.1
>
> actually apply only to specific endpoints and not to the "standard
> as a whole".
Exactly; this is specifically for the standardID attribute on
vr:Capability or derived types.
> There's whiff of "maybe the IVOA thinks it's a bad idea to have
> versioned `standardID`s" to what I'm finding. I'm sorry that this
> corner of our work isn't one I've been carefully digesting over the
> years, so I'd be very happy to be schooled a bit!
The main difficulty here is: Define minor version or not? That's
fairly involved, and perhaps I should talk about that in Strasbourg?
> Superficially it doesn't seem wrong to want to document "I'm using
> terms from version X of vocabulary Y", but, well, I've only thought
> about it superficially.
If it's an IVOA vocabulary, it's simple and clear: Just use its URI
(something like http://www.ivoa.net/rdf/examples). These things are
explicitly not versioned, and I'll passionately defend this design
decision if you'd like me to.
UCDs, at this point, aren't a proper IVOA vocabulary, and will never
exactly be, because they have a grammar that's (I think) impossible
to map into RDF. So, for them I'd suggest "This is a ucd" would
always mean referencing ivo://ivoa.net/standards/ucd.
Thanks,
Markus
More information about the semantics
mailing list