TAP1.0 Comments

Francois Ochsenbein francois at vizier.u-strasbg.fr
Mon Jul 13 09:34:30 PDT 2009


Hi,

About TAP WD1.0 (2009-06-07): this new version looks much better 
than the previous version, thank you Pat !

Mark Taylor and Alberto Micol already commented this last version,
and I second Mark's remarks. In the following there will be
some repetition with Mark and Alberto's remarks, but that's
unavoidable...

First, the question of TAP result in a single *table* : Alberto's
question is quite right, and I'm afraid the reduction of the 
result to a single table will generate problems for us (vizier)
and likely for other services. Yes the relational model implies
that the result of any query is a single table -- but sticking
to this means that queries like "give me all objects from any
table this region of the sky" is not possible. Such questions
however are quite frequent... How to deal with those ? I see
only the following alternatives if TAP sticks to a single
output table:
a. the client asks for tables existing in the service;
   upon the answer (7896 tables), the client generates
   7896 queries. Not really realistic :-(
b. the server creates some kind of minimal common schema
   between all these tables -- in practice this can only be
   the position and the table name (i.e. a 3 column table).
   But then you have to get more details about each result,
   details concerning data and as well as metadata. 
   Therefore you still have to generate many 'children' queries.

Or should services like vizier give up with TAP ?


The other questions I've noticed:

2.3.4 (and other places where ISO8601 is quoted):
     as far as I know, this norm requires the 'T' in front of the
     time; the timestamp format should therefore be written
     "yyyy-MM-dd[Thh:mm:ss[.sss]]" (the 'T' is missing in the document)

2.3.5: it looks strange for me that constraints can be ignored in PQL.
       If a table is queried with just a contraint on TIME, and there
       is no time in the table, the fact that this parameter is 
       ignored results in a dump of a (potentially very large) table.
       Similarly for POS query (section 1.1.5) -- if the table
       queried has no position, is it really a good solution to
       return the whole table ? Hopefully this is not possible
       with ADQL :-)

2.3.6 (as Mark noted) : why should the VOTable result be 
      limited to TABLEDATA format ?
      In addition: why is ascii FITS table not acceptable ?

2.3.8: MTIME -- I still have problems with this. A service may have
      some tables which have such timestamp columns (typically
      TAP_SCHEMA tables) while other tables have not this information.
      I can't therefore see this feature as a service-wide feature,
      and the MTIME capability would need to be specified in 
      the TAP_SCHEMA (section 2.6.2)

2.3.9: RUNID -- is it just a number ? In any case, it would be
     useful to specify which characters are valid in this RUNID
     (not specified either in section 5 and subsections therein)

2.5: again I share Mark's remarks concerning
     * (no arraysize of xtype): what does it mean ?
     * the inconsistency with VOTable (the PR VOtable1.2 document
       specifies "iso8601" and "STC-S" as agreed at the last IVOA
       meeting). At this meeting, did we mention between POINT 
       and REGION as 2 different datatypes ?
    In the table, the column 'arraysize' should contain 'n*' for
    VARCHAR(n) and VARBINARY(n) in order to be consistent with VOTable;
    for types BLOB, CLOB, STC-S, the column 'arraysize' should contain
    an asterisk (*). For TIMESTAMP, the column 'arraysize' should also
    contain a value (either *, or a value like 10 for a date or 19
    for timestamp accurate to 1s)

2.5.1: if the url points to a VOTable, why not using the table
    names defined in the VOTable document ? And can the url
    refer to a multi-table VOTable input ?

2.6.2: would be useful to specify here the MTIME support (see 2.3.8)

2.6.3: 'indexed' may refer to the first column in a multi-column index
     
2.6.4: in the paragraph starting by 
       "Data types and how they map to VOTable datatypes"...
     * phrase "this size does not map to the VOTable arraysize"...
       why ? It does, or did I miss anything there ?
     * "Indexed", cf 2.6.3 above

2.7.1: result as a single table: cf discussion above (First point)

2.7.4: "No method of reporting an overflow is defined for formats
     other than VOTable": this is really a potential source of
     huge problems, I don't think TAP could propose output formats
     where it's impossible to assess the correctness of the result.

2.9.1: INFO problems, as reported by Mark

About VOTable1.2, the RFC period should start quite soon --
the final documents to be reviewed is visible from the
VOTable page 
  http://www.ivoa.net/cgi-bin/twiki/bin/view/IVOA/IvoaVOTable

--Francois
=======================================================================
Francois Ochsenbein    ------   Observatoire Astronomique de Strasbourg
   11, rue de l'Universite 67000 STRASBOURG  Phone: +33-(0)390 24 24 29
Email: francois at astro.u-strasbg.fr (France)    Fax: +33-(0)390 24 24 17
=======================================================================



More information about the dal mailing list