S*AP and DAL v2
Paul Harrison
paul.harrison at manchester.ac.uk
Fri May 16 02:23:46 PDT 2008
Hi,
I thought that I would add my "vision" of how things should/could be...
The "Simple" access protocols have been a success for the VO - They
are simple to use and relatively simple to implement. They are perfect
for the "what is available at that position on the sky" types of query.
So how to progress, to accommodate the more sophisticated query that
people now want to make.
Keep the S*AP simple
* keep as a synchronous service
* have parameter based model that can easily be driven by filing in a
web form - this means easy for the user to understand, and unambiguous
for the service writer.
DAL v2 should concern itself with advanced usage;
* query language driven vs. parameter based.
* asynchrony
* interaction with VOSpace
* interaction with other DAL services to provide "cross matching"
There should be no blurring of the distinction - don't try to make
S*AP advanced by making them complex to use and complex to implement -
keep the "simple" characteristic that made them successful. DAL v2 is
there for more advanced queries than the "what is available at that
position on the sky" type of query - this will necessarily need a more
complex interaction with the client software.
Onto the specifics of the TAP-Param vs. TAP-QL debate. By my criteria
above, if we are saying that TAP (note - no simple in the name) is a
DAL v2, I would characterise the TAP-Param as Simple Cone Search v2,
and drop all of the asynchrony, direct access to the table model, etc,
but retain the extra defined parameters and ways of putting
constraints on individual parameters. This distinction between
parameter based and query language based is fundamental in my opinion.
The parameter based method for specifying the query breaks down (or
becomes more complex than a query language approach) as soon as you
want to express a constraint that involves a logical combination of
two parameters e.g. do I mean "magnitude < 18 and redshift > 0.5" or
do I mean "magnitude < 18 or redshift > 0.5" - This is concise and
unambiguous in the query language approach, whereas in the parameter
based approach the best you can reasonably do is specify that you mean
"or" or "and" for all the individual parameter constraints which
obviously does not allow you to express the full range of
possibilities when there are 3 or more parameters involved.
There is nothing to stop a service writer providing both a SCSv2 and a
TAP interface, but they would be separate interfaces with their
separate usage characteristics - a user who wants simple usage (param
driven) just looks at the SCSv2 document to work out how to drive the
service, and a user who knows that they need a query language approach
looks at the TAP document to find out how to use the service.
Paul.
Dr. Paul Harrison
JBCA, Manchester University
http://www.manchester.ac.uk/jodrellbank
More information about the dal
mailing list