Datalink Feedback III

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Tue Mar 25 00:59:21 PDT 2014


Dear DAL list,

I'm sure all of you have already waited impatiently of the third
installment of my bickering about the Datalink draft.  This
time, it's about the content of service_def, which currently is
either an IVORN (for a standard service) or an id of a RESOURCE
element within the VOTable.

For reasons of syntactic clarity, I'd much prefer if the reference to an
internal service in service_def always were a URI, even if we restrict
things to either IVORNs or pure fragments.

Hence, I'd like to replace the current Text of 3.2.4 service_def with:

  The service_def column contains a URI that indicates a service
  definition.  If service_def is not null, access_url points to a service
  that requires additional parameters to yield a useful result.
  The service_def column can contain a full IVORN to indicate a
  standard interface exposing data for the DID.

  The other allowed form of URI is a pure fragment part, identified by a
  leading hash character (#).  In that case, the datalink response
  document must contain a service resource as specified in section 4.  For
  instance, a service_def value of #srv1 would refer to a service
  definition of

    <RESOURCE type="metadata" ID="srv1" utype="adhoc:service">
    ...
    </RESOURCE>

  In this case, the access URL defined within the service RESOURCE MUST be
  the same as the access URL given in the table row.

  If service_def is NULL, the access_url may be used with no additional
  parameters or knowledge. It should be NULL even if access_url points to
  some resource generated on the fly if access_url is intended to be used
  as-is (e.g. direct download links or links to dynamic content where all
  parameters are already included in the link, such a on-the-fly preview
  generation).


A second issue (but related enough to IMO warrant inclusion in one
mail) in this connection is: Do we have a good idea already what
clients are supposed to do if there is an IVORN in service_def?  I
believe we would need to say something like:

  If service_def is an IVORN, the discovered id must be passed in
  using a method specified by the standard referenced.  For the
  legacy standards ivo://ivoa.net/std/ssa and ivo://ivoa.net/std/sia,
  this specification defines that the identifier must be passed in
  through the PUBDID parameter.  Only one value is allowed per
  service call.

I'm not sure I much like that myself (e.g., no creator DIDs allowed,
and SIAP doesn't even talk about a PUBDID parameter, so that would be
an extension), but I don't see how else IVORNs could be make useful
in service_def.

Cheers,

        Markus




More information about the dal mailing list