<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi, Mark, Marco, Markus, DAL</p>
    <p>I think Mark is right : managing service descriptors in Simple
      services or TAP responses and in {links} response is nowadays
      different, as also confirmed by Markus.</p>
    <p>Another solution which  was considered and pushed by some of the
      authors and eventually not retained in the first version, would
      have been to let "dynamical links" (--&gt; services) autodescribe
      in the context of a dataset.  IN these conditions {links}
      responses rows would look all the same (URLs) and services root
      URL invocation will return the appropriate service descriptor
      prefilled for a given data set.<br>
    </p>
    <p>This would make structure and  interpretation of {links}
      resources simpler.<br>
    </p>
    <p><br>
    </p>
    <p>More below.<br>
    </p>
    <br>
    <div class="moz-cite-prefix">Le 06/02/2018 à 11:11, Marco Molinaro a
      écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CABiOC74Rf0RPCD7Ok7_nUWKBs4ULXZ7ukA5G1n9ypm3WifiHnQ@mail.gmail.com">
      <meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi Mark, all,
        <div>you may be right, and I may be confused by my</div>
        <div>biased idea that datalink is meant to having</div>
        <div>proper ID's in the originating discovery response</div>
        <div>data table to attach to.</div>
        <div><br>
        </div>
        <div>Thus, that would really mean two separate</div>
        <div>datalink consumers for a client app, one for</div>
        <div>services described directly in the discovery</div>
        <div>response (your case 2) and one for the </div>
        <div>links-response solutions (case 1).</div>
        <div><br>
        </div>
        <div>I'm wondering, however, if also in case 1</div>
        <div>there's a way to allow the adhoc:service </div>
        <div>on a  per row basis.</div>
        <div><br>
        </div>
        <div>Cheers,</div>
        <div>     Marco</div>
        <div>
          <div class="gmail_extra"><br>
            <div class="gmail_quote">2018-02-05 11:48 GMT+01:00 Mark
              Taylor <span dir="ltr">&lt;<a
                  href="mailto:m.b.taylor@bristol.ac.uk" target="_blank"
                  moz-do-not-send="true">m.b.taylor@bristol.ac.uk</a>&gt;</span>:<br>
              <blockquote class="gmail_quote">Marco,<br>
                <br>
                thanks for your response.<br>
                <span class=""><br>
                  On Sun, 4 Feb 2018, Marco Molinaro wrote:<br>
                  <br>
                  &gt; &gt; Section 4 of the DataLink document describes
                  Service Descriptors.<br>
                  &gt; &gt; These are RESOURCE elements in VOTable
                  documents containing<br>
                  &gt; &gt; information about external services that can
                  be invoked in<br>
                  &gt; &gt; a way that is relevant to the data in a
                  results table contained<br>
                  &gt; &gt; within the same VOTable document.<br>
                  &gt; &gt;<br>
                  &gt; &gt; As I understand it, there are two separate
                  ways these service<br>
                  &gt; &gt; descriptors can be used.<br>
                  &gt; &gt;<br>
                  &gt; &gt;   1. A {links}-response table (as described
                  in DataLink section 3)<br>
                  &gt; &gt;      may refer to a specific Service
                  Descriptor by giving its ID<br>
                  &gt; &gt;      in the service_def column.<br>
                  &gt; &gt;<br>
                  &gt; &gt;   2. Any VOTable is allowed to include
                  Service Descriptor resources,<br>
                  &gt; &gt;      as made explicit in paragraphs 2 and 3
                  of DataLink section 4.<br>
                  &gt; &gt;      Such service descriptors will
                  presumably have at least some<br>
                  &gt; &gt;      input parameters that take their values
                  from the results table.<br>
                  &gt; &gt;<br>
                  &gt; &gt; In case 2, the service descriptor
                  effectively defines a different<br>
                  &gt; &gt; (full or partial) service invocation for
                  every row of the results table.<br>
                  &gt; &gt; In case 1 however, such invocations are only
                  defined for those rows<br>
                  &gt; &gt; in which the service_def column names the
                  descriptor in question.<br>
                  &gt; &gt;<br>
                  &gt;<br>
                  &gt; I agree, but I would say that your description of
                  case 2<br>
                  &gt; may fail if no DatasetID is set in a row. But
                  that's probably<br>
                  &gt; a borderline case.<br>
                  <br>
                </span>Is that right?  Section 4 says this:<br>
                <br>
                   "Here we describe how to construct a resource that
                describes a<br>
                    service and add it to a VOTable document. The
                mechanism is<br>
                    general and can be used wherever a VOTable document
                is created."<br>
                <br>
                From that I take that this mechanism is not tied to the
                {links}-response<br>
                format or to provision of a DatasetID.  So for instance
                you could<br>
                write a VOTable that defines a Cone Search invocation
                for each row,<br>
                like this:<br>
                <br>
                  &lt;VOTABLE&gt;<br>
                  &lt;RESOURCE type="results"&gt;<br>
                    &lt;TABLE&gt;<br>
                      &lt;FIELD name="RAJ2000" datatype="double"
                ID="col_ra"/&gt;<br>
                      &lt;FIELD name="DEJ2000" datatype="double"
                ID="col_dec"/&gt;<br>
                      &lt;DATA&gt;<br>
                        &lt;TABLEDATA&gt;<br>
                         
                &lt;TR&gt;&lt;TD&gt;83.50&lt;/TD&gt;&lt;TD&gt;22.01&lt;/<wbr>TD&gt;&lt;/TR&gt;<br>
                         
                &lt;TR&gt;&lt;TD&gt;323.25&lt;/TD&gt;&lt;TD&gt;-0.81&lt;/<wbr>TD&gt;&lt;/TR&gt;<br>
                        &lt;/TABLEDATA&gt;<br>
                      &lt;/DATA&gt;<br>
                    &lt;/TABLE&gt;<br>
                  &lt;/RESOURCE&gt;<br>
                  &lt;RESOURCE type="meta" utype="adhoc:service"&gt;<br>
                    &lt;PARAM name="standardID" datatype="char"
                arraysize="*"<br>
                           value="ivo://<a
                  href="http://ivoa.net/std/ConeSearch" rel="noreferrer"
                  target="_blank" moz-do-not-send="true">ivoa.net/std/<wbr>ConeSearch</a>"/&gt;<br>
                    &lt;PARAM name="accessURL" datatype="char"
                arraysize="*"<br>
                           value="<a
                  href="http://cda.harvard.edu/cxcscs/coneSearch"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">http://cda.harvard.edu/<wbr>cxcscs/coneSearch</a>"/&gt;<br>
                    &lt;GROUP name="inputParams"&gt;<br>
                      &lt;PARAM name="RA"  datatype="char" arraysize="*"
                value="" ref="col_ra"/&gt;<br>
                      &lt;PARAM name="DEC" datatype="char" arraysize="*"
                value="" ref="col_dec"/&gt;<br>
                      &lt;PARAM name="SR"  datatype="char" arraysize="1"
                value="1"/&gt;<br>
                    &lt;/GROUP&gt;<br>
                  &lt;/RESOURCE&gt;<br>
                  &lt;/VOTABLE&gt;<br>
                <br>
                Or is that not the intention?<br>
              </blockquote>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Mark , this example is perfectly right and was the intention of all
    the authors.<br>
    <br>
    Cheers<br>
    François<br>
    <blockquote type="cite"
cite="mid:CABiOC74Rf0RPCD7Ok7_nUWKBs4ULXZ7ukA5G1n9ypm3WifiHnQ@mail.gmail.com">
      <div dir="ltr">
        <div>
          <div class="gmail_extra">
            <div class="gmail_quote">
              <blockquote class="gmail_quote">
                <span class=""><br>
                  &gt; The distinction between 1 and 2 being only on
                  where the<br>
                  &gt; service descriptor adhoc:service sits: directly
                  on the<br>
                  &gt; results of discovery, in a further (multi)-access
                  enabling<br>
                  &gt; document.<br>
                  <br>
                </span>If the example above is correct use of the
                Service Descriptor<br>
                construct, then the difference is greater: in case 2 the
                service<br>
                descriptor(s) can be applied to all rows of the results
                table,<br>
                but in case 1 only those rows with an appropriate
                service_def<br>
                value define such invocations.<br>
                <span class=""><br>
                  &gt; * - happy you sent this email 'cause you forced
                  him<br>
                  &gt; into a deeper look in Datalnk<br>
                  <br>
                </span>I'm pleased that I could bring a little joy into
                your life!<br>
                <div class="HOEnZb">
                  <div class="h5"><br>
                    Mark<br>
                    <br>
                    --<br>
                    Mark Taylor   Astronomical Programmer   Physics,
                    Bristol University, UK<br>
                    <a href="mailto:m.b.taylor@bris.ac.uk"
                      moz-do-not-send="true">m.b.taylor@bris.ac.uk</a> <a
                      href="tel:%2B44-117-9288776" value="+441179288776"
                      moz-do-not-send="true">+44-117-9288776</a>  <a
                      href="http://www.star.bris.ac.uk/%7Embt/"
                      rel="noreferrer" target="_blank"
                      moz-do-not-send="true">http://www.star.bris.ac.uk/~<wbr>mbt/</a><br>
                  </div>
                </div>
              </blockquote>
            </div>
            <br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>