VOSI 1.1 - qualified names

Dave Morris dave.morris at metagrid.co.uk
Wed Jul 20 00:20:43 CEST 2016


I'm posting this to the DAL list as well as the GWS list because I think 
this is relevant to the DAL/ADQL community too.

To those on the DAL/ADQL community who haven't seen this before, the 
thread started as a discussion in the GWS list about the contents of the 
VOSI/tables response.
http://mail.ivoa.net/pipermail/grid/2016-July/002853.html

If possible, please respond to the thread on the GWS mailing list 
<grid at ivoa.net>.

--------

Hi Mark, Brian

I agree with Mark that we should be consistent across the different 
metadata sources. However I am concerned that the term 'official name' 
implies a level of standardization beyond the consensus that we have 
achieved. To an external user, referring to [twomass.data] as the 
'official name' may imply that we have standardized this as the name for 
the twomass point source catalog across the whole of the VO.

May I suggest an alternative term, 'optimally qualified', defined as 
"the optimal level of qualification that makes a name unique in the 
context within which it is being used".

Taking the GAVO TAP service as an example, there are several tables 
called 'data', so the optimally qualified name would need to include the 
schema name to make them unique.

     [unqualified name]       [data]
     [optimally qualified]    [antares10.data]
     [fully qualified]        [antares10.data]

     [unqualified name]       [data]
     [optimally qualified]    [veronqsos.data]
     [fully qualified]        [veronqsos.data]

On the other hand, at the moment there is only one table called 
'unidentified', so the optimally qualified name could/should use the 
short name.

     [unqualified name]       [unidentified]
     [optimally qualified]    [unidentified]
     [fully qualified]        [arigfh.unidentified]

However, if GAVO add another schema that contains a table called 
'unidentified', then the optimally qualified name would have to be 
updated to include the schema name in order to distinguish between them.

     [unqualified name]       [unidentified]
     [optimally qualified]    [arigfh.unidentified]
     [fully qualified]        [arigfh.unidentified]

     [unqualified name]       [unidentified]
     [optimally qualified]    [newschema.unidentified]
     [fully qualified]        [newschema.unidentified]

I agree with Mark, it is up the the service provider to decide what 
level of qualification is appropriate for the optimally qualified names 
in their service.

We can stress that in a client-server scenario, the optimally qualified 
name is the name that the client application would normally present to 
the user, and as such it should be as simple as  possible while still 
ensuring that it is sufficiently unique to be used as-is in queries and 
examples without requiring the user to add additional qualification, but 
I don't think we can mandate that a service always uses the minimum 
level of qualification in the optimally qualified name.

If for example, the GAVO team had plans to add another schema containing 
a table called 'unidentified' in a few months time, then even though the 
unqualified name is currently unique, they may choose to include the 
schema name in the optimally qualified name now, in preparation for the 
introduction of the new schema later.

I suggest we should define these three terms in the TAP specification 
and then we can refer to them in the TAP, ADQL and VOSI standards.

Suggested definitions :

     Unqualified (short name)

         * The name of a catalog, schema, table or column, without 
reference to the object's parents in the hierarchy.
         * An unqualified name MUST NOT include qualifying references to 
the object's parents, even if it means that the name is not unique in 
the context within which it is being used.

     Optimally qualified (optimal name)

         * The name of a catalog, schema, table or column with a an 
optimal level of qualification sufficient to make it unique in the 
context within which it is being used.
         * An optimally qualified name MUST include sufficient 
qualification to make it unique in the context within which it is being 
used.
         * An optimally qualified name MAY include more qualification 
than required to make it unique in the context within which it is being 
used.

     Fully qualified (full name)

         * The full name of a catalog, schema, table or column, including 
the names of all the parent objects in the hierarchy.
         * A fully qualified name MUST include qualifying references to 
all of the object's parents, even if they are not required to make the 
name unique in the context within which it is being used.

What do you think. Would defining these terms be useful ?

Hope this helps,
Dave

--------
Dave Morris
Software Developer
Wide Field Astronomy Unit
Institute for Astronomy
University of Edinburgh
--------




More information about the grid mailing list