Datalink XSL

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Fri Apr 9 13:37:49 CEST 2021


Dear DAL, dear Semantics,

The recent discussion about where #calibration should live in the
datalink vocabulary
(http://mail.ivoa.net/pipermail/semantics/2021-March/002774.html)
gave me the little extra kick required to finally make me use
semantics in the datalink XSLT I mentioned the other day:

On Tue, Mar 23, 2021 at 09:36:40AM +0100, Markus Demleitner wrote:
> Otherwise, since it's been a while that I've last advertised it and
> there have been a few (minor) updates to it, let me give a little
> sales pitch for adding stylesheets to Datalink documents.

I've updated it (and the existing repo I had forgotten about two
weeks ago, https://github.com/msdemlei/datalink-xslt) to re-organise
the flat link list into a tree with foldable branches.  To see what
this does, see

http://dc.g-vo.org/flare_survey/q/mdl/dlmeta?ID=ivo%3A//org.gavo.dc/~%3Fflare_survey/data/plates/ESO040_004362.fits

-- this has a lot of #counterpart-s, so without re-formatting and
folding (turn javascript off to see how that looks like) the list
really is a bit unwieldy.

This is actually a tree; cf. the preview branch for where this
already has 2-level hierarchy.

Also note how the code exploits label and definition from the
vocabulary; the javascript directly pulls this from the desise at
ivoa.net.

In
http://dc.g-vo.org/califa/q3/dl/dlmeta?ID=ivo%3A%2F%2Forg.gavo.dc%2F~%3Fcalifa%2Fdatadr3%2FCOMB%2FUGC12519.COMB.rscube.fits
I still have a few freely-invented terms (alternative and
old-version), which gives you an idea how things would look like
without the extra term metadata from the vocabulary.  [Semantics WG:
yes, I'll turn #alternative to #counterpart once it's served its demo
purposes. #old-version probably calls for a VEP].

http://dc.g-vo.org/kapteyn/q/dl/dlmeta?ID=ivo%3A//org.gavo.dc/~%3Fkapteyn/data/fits/POT015_000317.fits

has #calibration used in the the VEP-006 sense ("you can use this to
calibrate #this") -- which made me realise that we should probably
make #calibration a child of #auxiliary if the VEP-006 is accepted.

The point I'm trying to make wrt VEP-006 is: The script will need to
know if #calibration goes to root, to #auxiliary, or to #progenitor,
and hence just cannot say "we don't care".

This exercise also showcases a few other things we might want to
think about.  For instance,

http://dc.g-vo.org/gaia/q2/tsdl/dlmeta?ID=ivo://org.gavo.dc/~?gaia/q2/1737549120045621120

has three #this-es.  Is this legal?  The case here is that I'm
attaching a single datalink for the three time series (one per band)
one has for one Gaia source_id.  

Spoiler: I *think* multiple #this should be forbidden, and in this
particular case #this should probably point to a representation of
the source, and the time series would be #counterpart-s -- but I'm
open to other suggestions.  I'll fix this once there's some agreement
on what this should do.


Also: To let you see how your datalink document looks like to this
kind of client without deploying datalink-xslt on your server,
there's the shomydl web service at
http://dc.g-vo.org/shomydl/q/f/form -- you can also upload datalink
documents in case they're not reachable from the public internet yet,
and there's an "API" (see service docs) that lets you use halfway
sane URIs to call this.

        -- Markus


More information about the dal mailing list