UAT in VOResource

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Tue Jun 2 09:03:01 CEST 2020


Hi Laurent,

On Fri, May 29, 2020 at 04:49:57PM +0200, Laurent MICHEL wrote:
> Le 28/05/2020 à 08:47, Markus Demleitner a écrit :
> > > <subject valueURI="http://astrothesaurus.org/uat/1338" schemeURI="http://astrothesaurus.org">Radio astronomy</subject>
> > > <subject valueURI="http://astrothesaurus.org/uat/1426" schemeURI="http://astrothesaurus.org">Saturn</subject>
> > > 
> > > The good thing with this is that I can refer to another thesaurus
> > > or another URI for terms I can't find in the UAT (for instance, the
> > > name of the space mission).
> > 
> > Yes -- full RDF clearly is a good idea, and that is why we offer our
> > vocabularies in standard RDF (XML and turtle).  However, if you want
> > to do anything interesting with this (starting with comparing terms;
> > URI equality is a hairy topic), using full URIs becomes really
> > complex rather fast, and then you really need specialised libraries,
> > and that I'd like to avoid for the basic use cases.  Most of the
> > clients that hopefully will take that up are totally disinterested in
> > semantics as such, and convincing them to pull aboard a hefty
> > dependency just to deal with a few keywords at least in the past
> > hasn't worked.
> > 
> 
> 
> To my knowledge, there's no other vocabularies identifiers than URIs. I'm
> affraid that the option is either using URIs or not using non-VO
> vocabularies?
> Is that what you are suggesting?

So, RDF talks about "resources" (the "R"), and these "resources" are
exactly those of URIs (the "R" in there).  So, yes, as soon as you
make a statement in RDF, you're using URIs.

In generic RDF, that's very generic, though -- you can use any URI
scheme you like, from urn: to ivo: to http:.

Since the application we have at this point with VocinVO2 (and note
sect. 2.3) is mainly "publicly accessible word lists with some
structure" (see, in particular, requirements 2.2.1, 2.2.6, 2.2.7.,
and 2.2.11), we want a bit more structure, and in particular using
the http scheme (where there's an exectation you can resolve the
URIs, and everyone knows how to do it) is a good idea.

That's why we're doing that; as per sect. 4:

  In IVOA vocabularies, the concept URI MUST begin with http://www.
  ivoa.net/rdf

and the text then goes on to say that "the" vocabulary URI (that's a
VocinVO2 concept, not and RDF concept per se) should be a direct
child of this, and the term is a fragment within that.

So -- we're RDFly correct, and IVOA vocabularies behave just as the
W3C would like RDF resources to work.

However, I can well understand if your head is already slightly
spinning because of all that terminology.  That's why I'm trying to
*additionally* offer the dead simple semantics: In the simple use
cases that we have (and for now, I'd say they all are, and I won't
hold my breath until someone does complex inference over RDF triples
pulled from the VO), just retrieve a URI (with a bespoke accept
header), json-decode what you get, and you can immediately figure out
if a term exists, figure out its definition, see if it's
deprecated, and see wider and narrower terms.

The way I'm now trying to sell it: It's a declarative, zero-code API
to true RDF for those who don't want to worry about the latter.

      -- Markus


More information about the semantics mailing list