Using vocabulary in models

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Wed Oct 2 10:50:05 CEST 2019


Dear Laurent,

On Tue, Oct 01, 2019 at 03:44:41PM +0200, Laurent Michel wrote:
> There is a strong request from Semantic for using Vocabulary
> instead of Enumerations to define thinks like Agent roles.
> 
> Everyone agree with this, but we do not have any clean way to
> publish vocabularies for now.

Oh, we've been using "hand-waving" vocabularies in RECs for quite
some time now, both in Datalink and VOResource, and VOTable 1.4 will
hopefully be REC long before Vocabularies 2.  I'd argue there's
nothing wrong with saying "Go to this URL to read the list of
approved terms and their definitions" (in human-oriented HTML).  That
part has been possible for a long time now (at least since Datalink
REC in 2015).

It would certainly be preferable to have the finished rules for
machine-readable representations and the maintenance ready right now,
but they're clearly not a precondition for using vocabularies in
RECs.

> The options to sort this out are:
> 1- Keep the enumerations in place until we are able to publish a
> vocabulary and then to publish an erratum.
> 2- Keep the enumerations in place and put in the VOMDL description of
> attributes, broken vocabulary links with a constraint telling users to use
> the Enum while the vocabulary does not work.
> 3- Using similar vocabularies.
> 4- By passing the vocabulary publishing mechanism.
> 
> None is satisfactory:
> #1 does not answer the Semantic request
> #2 is confusing for implementers
> #3 There is no published vocabulary matching the Provenance use cases.
> #4 No validation for the vocabulary.
> 
> Does someone have a better suggestion for this?

Well, at least as of the last PR, no validation has been in place for
the fields in question at all -- IIRC the only constraint was a
vernacular "If something from Table n fits, use it".  So you'd not be
losing anything in terms of machine verifiability (but gaining a lot
in the likely case that we'll get some agreement on Vocabularies 2).

So, I'd say you should, in the VO-DML, give the relevant
vocabularyURI and in the text say (example for 2.4.4, striking the
paragraph "Roles in relations...should be used"):

  The role attribute is constrained to only contain terms from the
  vocabulary at http://www.ivoa.net/rdf/agent-role.  At the time of
  publication, this included

    creator, funder, publisher

  [or whatever; IMNSHO it should really pretty much what you have in
  your current implementations].  Adopters of the model are
  encouraged to expand the vocabulary using the processes defined by
  the IVOA Semantics
  WG\footnote{https://wiki.ivoa.net/twiki/bin/view/IVOA/IvoaSemantics}.

Yeah, I again admit I'd look a lot better if is last thing could have
a \citep{std:Voc-in-VO-2} from the start, but then ProvDM doesn't
really strongly depend on the mode of vocabulary management or
publication.  And I'm fairly confident if you implement your
validators against the current Vocabularies 2 WD, you won't have to
completely redo the vocabularies part when it reaches REC.

       -- Markus


More information about the semantics mailing list