Table Access Protocol Window
The Table Access Protocol (TAP) load window can be opened using the
TAP Query button ()
in the Control Window's toolbar
or VO menu,
or the Load Window's toolbar.
It allows you to use the TAP protocol to
make freeform queries of remote database services
using an SQL-like language.
This is a powerful capability, giving you full access to
remote data holdings; it's similar to systems like SDSS's
CasJobs,
but using the IVOA-endorsed TAP standard means that you can use
the same interface for many different remote datasets.
Using TAP is one of the more complicated things you can do in TOPCAT, but it's well worth getting to grips with because of the capabilities it gives you for customised access to all kinds of remote data.
In order to interrogate the remote database you will have to write queries in Astronomical Data Query Language (ADQL). ADQL is essentially a particular dialect of SQL, so if you have used SQL before, you should be able to write ADQL queries. A tutorial on writing ADQL/SQL is beyond the scope of this manual, but the Use Service tab provides an Examples menu which will give you a good start in using it. You can find some introductions and tutorials elsewhere, for instance at http://docs.g-vo.org/adql (Markus Demleitner) or http://is.gd/ADQLTutorial (Simon Murphy). Some TAP services also provide tutorials or examples on their web pages.
Once your query is written, you can submit it in either synchronous or asynchronous mode. Synchronous queries begin to execute right away and should have a relatively short runtime; asynchronous queries are submitted to a server, run for a potentially long time, and retrieve the result later.
The window is composed of four tabs, of which you can see one at a time (some of these tabs themselves contain tabbed parts). You will use two or three of them when submitting a TAP query. Each tab is described in more detail in the following subsections, but an overview of their operation is like this:
When you first visit this window, the Select Service tab will be visible, and when an asynchronous query has been submitted the Running Jobs tab will be visible. If you want to submit another query to the same service, or use a different service, just select Use Service or Select Service respectively, by clicking on the appropriate tab at the top.
This window offers some menus additional to the standard VO window menus:
detail
-sensitive requests
to the /tables
endpoint.
No detail
specification is made initially,
so the service decides whether up-front loading is done.
Still compatible with VOSI 1.0 services.
detail
-sensitive requests
to the /tables
endpoint.
detail=max
is specified initially to indicate that
full metadata up-front metadata load is preferred.
Still compatible with VOSI 1.0 services.
detail
-sensitive requests
to the /tables
endpoint.
detail=min
is specified initially to indicate that
on-demand column load is preferred.
Still compatible with VOSI 1.0 services.
/tables
endpoint of
the TAP service as defined by VOSI 1.0;
all table metadata is loaded up front.
/tables
as implemented (at time of writing) by the TAPVizieR service;
columns are read only when required
(experimental, may be withdrawn).
TAP_UPLOAD.*
table) is performed.
The options
(TABLEDATA,
BINARY,
BINARY2)
correspond to the different defined VOTable serialization formats.
The choice shouldn't affect any results, but it may affect
required bandwidth and some services may (though shouldn't)
have non-standard requirements for serialization format.
Accept-Encoding: gzip
headers with most of the HTTP requests when communicating with the
TAP service. That ought to reduce required bandwidth considerably,
but only if the service chooses to honour this request.
The setting should have no effect on the actual results,
but may affect performance.
Note: TAP is a complex protocol, and at time of writing, many TAP services still do not provide full and error-free implementations. Unexpected behaviour may be a result of service implementation deficiencies. Hopefully that will improve over time.