<div dir="ltr">Hi Dave, Mark, and all,<div><br></div><div><br></div><div>Sorry for the delay, just getting back to this now.</div><div><br></div><div>For the VOSI description of tables, it sounds like we&#39;re back to something like what Mark originally proposed (in this thread: <a href="http://mail.ivoa.net/pipermail/grid/2016-July/002853.html">http://mail.ivoa.net/pipermail/grid/2016-July/002853.html</a>), where the service decides the naming of their tables, based on the rules in TAP.</div><div><br></div><div>    &quot;<span style="font-size:12.8px">The child resource must be named with the fully-qualified table name,</span><span style="font-size:12.8px"> as it appears in the name child of the corresponding Table element.&quot;</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Except that we don&#39;t want to mention &quot;fully-qualified&quot;, so perhaps (keeping in mind this is for the VOSI /tables definition only) it can be shortened still:</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">    &quot;The child resource must be named as it appears in the name of the corresponding child Table element.&quot;</span></div><div><br></div><div>So does this, followed by the example and snippet of response XML, sit well with everyone?</div><div><br></div><div><br></div><div>Cheers,</div><div>Brian</div><div><br><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 20, 2016 at 2:12 AM, Mark Taylor <span dir="ltr">&lt;<a href="mailto:M.B.Taylor@bristol.ac.uk" target="_blank">M.B.Taylor@bristol.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi Dave.<br>
<span class="gmail-"><br>
On Tue, 19 Jul 2016, Dave Morris wrote:<br>
<br>
&gt; I agree with Mark that we should be consistent across the different metadata<br>
&gt; sources. However I am concerned that the term &#39;official name&#39; implies a level<br>
&gt; of standardization beyond the consensus that we have achieved. To an external<br>
&gt; user, referring to [twomass.data] as the &#39;official name&#39; may imply that we<br>
&gt; have standardized this as the name for the twomass point source catalog across<br>
&gt; the whole of the VO.<br>
<br>
</span>I agree that &quot;official name&quot; is not a very good choice of terminology<br>
and can probably be improved.  Having said that I don&#39;t think there&#39;s<br>
too much danger of confusing external users; this term/concept is<br>
only going to be used in IVOA standards documents, it&#39;s not something<br>
the user has to see or think about.<br>
<br>
I will suggest as an alternative &quot;canonical name&quot;.  I think it&#39;s<br>
accurate, though I agree it&#39;s a bit obscure.  However (a) users<br>
won&#39;t see this term, so it doesn&#39;t matter if it would stump astronomers<br>
and (b) it&#39;s distinctive enough that people will probably recognise<br>
it as a term they&#39;ve seen elsewhere when it crops up in a standard.<br>
I&#39;m happy if a better suggestion can be found, but I&#39;m not keen<br>
on &quot;optimally qualified&quot;, for the reasons below.<br>
<span class="gmail-"><br>
&gt; May I suggest an alternative term, &#39;optimally qualified&#39;, defined as &quot;the<br>
&gt; optimal level of qualification that makes a name unique in the context within<br>
&gt; which it is being used&quot;.<br>
&gt;<br>
&gt; Taking the GAVO TAP service as an example, there are several tables called<br>
&gt; &#39;data&#39;, so the optimally qualified name would need to include the schema name<br>
&gt; to make them unique.<br>
&gt;<br>
&gt;     [unqualified name]       [data]<br>
&gt;     [optimally qualified]    [antares10.data]<br>
&gt;     [fully qualified]        [antares10.data]<br>
&gt;<br>
&gt;     [unqualified name]       [data]<br>
&gt;     [optimally qualified]    [veronqsos.data]<br>
&gt;     [fully qualified]        [veronqsos.data]<br>
&gt;<br>
&gt; On the other hand, at the moment there is only one table called<br>
&gt; &#39;unidentified&#39;, so the optimally qualified name could/should use the short<br>
&gt; name.<br>
&gt;<br>
&gt;     [unqualified name]       [unidentified]<br>
&gt;     [optimally qualified]    [unidentified]<br>
&gt;     [fully qualified]        [arigfh.unidentified]<br>
<br>
</span>Well, no.  Services have their own rules about table name syntax.<br>
As a matter of fact, DaCHS/GAVO does not permit you to omit the<br>
&quot;&lt;schema&gt;.&quot; part of a table name, so even in absence of multiple<br>
tables with the name &quot;*.unidentified&quot;, the &quot;optimally qualified&quot;<br>
version you quote above won&#39;t work.  Other TAP implementations<br>
(e.g. ones based on Gregory Mantelet&#39;s parsers) typically do allow<br>
that shortcut.  TAP/ADQL does not attempt to legislate about this<br>
kind of thing, nor should it.  For that reason, I don&#39;t think<br>
that the optimally qualified concept is useful as part of the<br>
standards landscape.<br>
<br>
Instead I believe the canonical name should be opaque (which is my<br>
understanding of the way it works now); it&#39;s whatever the service<br>
says it is, with whatever qualifications/delimitations<br>
the implementation sees fit to apply.  The only rule is<br>
that the same name has to be used in all relevant places,<br>
and accepted in queries.<br>
Services *may* at their option also allow different forms of the<br>
name (e.g. with less or more qualification, or even aliases etc)<br>
in submitted queries, though using such forms might fox<br>
TAP_SCHEMA-based ADQL validation.<br>
<br>
Given that, I don&#39;t think that we should say anything in the<br>
standards about what other forms of the name might look like<br>
or when they can or should be used, so I don&#39;t think it&#39;s going to be<br>
helpful to define {Un,Optimally ,Fully }qualified names.<br>
<span class="gmail-"><br>
&gt; However, if GAVO add another schema that contains a table called<br>
&gt; &#39;unidentified&#39;, then the optimally qualified name would have to be updated to<br>
&gt; include the schema name in order to distinguish between them.<br>
&gt;<br>
&gt;     [unqualified name]       [unidentified]<br>
&gt;     [optimally qualified]    [arigfh.unidentified]<br>
&gt;     [fully qualified]        [arigfh.unidentified]<br>
&gt;<br>
&gt;     [unqualified name]       [unidentified]<br>
&gt;     [optimally qualified]    [newschema.unidentified]<br>
&gt;     [fully qualified]        [newschema.unidentified]<br>
&gt;<br>
&gt; I agree with Mark, it is up the the service provider to decide what level of<br>
&gt; qualification is appropriate for the optimally qualified names in their<br>
&gt; service.<br>
&gt;<br>
&gt; We can stress that in a client-server scenario, the optimally qualified name<br>
&gt; is the name that the client application would normally present to the user,<br>
&gt; and as such it should be as simple as  possible while still ensuring that it<br>
&gt; is sufficiently unique to be used as-is in queries and examples without<br>
&gt; requiring the user to add additional qualification, but I don&#39;t think we can<br>
&gt; mandate that a service always uses the minimum level of qualification in the<br>
&gt; optimally qualified name.<br>
<br>
</span>So I agree with you that the form of the name is not mandated,<br>
but I disagree that there should be an expectation to use any<br>
particular form of the name under &quot;normal&quot; circumstances - I say we<br>
just leave that to the services&#39; implementation requirements and<br>
common sense.<br>
<br>
As far as I understand it, I&#39;m not proposing anything new here,<br>
only a clarification of wording in the standards, possibly<br>
backed up by a well-defined term (&quot;canonical [table] name&quot; or<br>
something along those lines).<br>
<br>
Mark<br>
<div><div class="gmail-h5"><br>
&gt; If for example, the GAVO team had plans to add another schema containing a<br>
&gt; table called &#39;unidentified&#39; in a few months time, then even though the<br>
&gt; unqualified name is currently unique, they may choose to include the schema<br>
&gt; name in the optimally qualified name now, in preparation for the introduction<br>
&gt; of the new schema later.<br>
&gt;<br>
&gt; I suggest we should define these three terms in the TAP specification and then<br>
&gt; we can refer to them in the TAP, ADQL and VOSI standards.<br>
&gt;<br>
&gt; Suggested definitions :<br>
&gt;<br>
&gt;     Unqualified (short name)<br>
&gt;<br>
&gt;         * The name of a catalog, schema, table or column, without reference to<br>
&gt; the object&#39;s parents in the hierarchy.<br>
&gt;         * An unqualified name MUST NOT include qualifying references to the<br>
&gt; object&#39;s parents, even if it means that the name is not unique in the context<br>
&gt; within which it is being used.<br>
&gt;<br>
&gt;     Optimally qualified (optimal name)<br>
&gt;<br>
&gt;         * The name of a catalog, schema, table or column with a an optimal<br>
&gt; level of qualification sufficient to make it unique in the context within<br>
&gt; which it is being used.<br>
&gt;         * An optimally qualified name MUST include sufficient qualification to<br>
&gt; make it unique in the context within which it is being used.<br>
&gt;         * An optimally qualified name MAY include more qualification than<br>
&gt; required to make it unique in the context within which it is being used.<br>
&gt;<br>
&gt;     Fully qualified (full name)<br>
&gt;<br>
&gt;         * The full name of a catalog, schema, table or column, including the<br>
&gt; names of all the parent objects in the hierarchy.<br>
&gt;         * A fully qualified name MUST include qualifying references to all of<br>
&gt; the object&#39;s parents, even if they are not required to make the name unique in<br>
&gt; the context within which it is being used.<br>
&gt;<br>
&gt; What do you think. Would defining these terms be useful ?<br>
&gt;<br>
&gt; Hope this helps,<br>
&gt; Dave<br>
&gt;<br>
&gt; --------<br>
&gt; Dave Morris<br>
&gt; Software Developer<br>
&gt; Wide Field Astronomy Unit<br>
&gt; Institute for Astronomy<br>
&gt; University of Edinburgh<br>
&gt; --------<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div>--<br>
Mark Taylor   Astronomical Programmer   Physics, Bristol University, UK<br>
<a href="mailto:m.b.taylor@bris.ac.uk">m.b.taylor@bris.ac.uk</a> <a href="tel:%2B44-117-9288776" value="+441179288776">+44-117-9288776</a>  <a href="http://www.star.bris.ac.uk/~mbt/" rel="noreferrer" target="_blank">http://www.star.bris.ac.uk/~<wbr>mbt/</a><br>
</blockquote></div><br></div></div></div></div>