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