[SIAv2] upload

Douglas Tody dtody at nrao.edu
Wed Jan 29 09:48:42 PST 2014


Another possibility not mentioned would be to keep it simple, e.g., we
have UPLOAD=<name>,<uri> as always, where some content is tagged by the
<name>.  But then we have a reference like POS=@<name>, and the content
of the referenced file/text upload is a simple list of values for POS,
one value per line of text.  No votable in this case since all we really
have is a list of values replacing a single value (unless the parameter
in question actually requires a table as the value, as with TAP).  The
syntax required is defined by the parameter for which we are uploading a
list of values.

A more general mechanism to pull stuff out of a table is also possible,
but not necessary to solve the problem of uploading a list of values for
a parameter.

This would work well for parameters like POS, BAND, TIME, where we often
want a list of values (it also works for any arbitrary parameter).  If
we wanted to combine POS,BAND,TIME,POL then that would argue for keeping
a REGION parameter of some sort.

 	- Doug


On Wed, 22 Jan 2014, Patrick Dowler wrote:

>
> current draft: http://www.ivoa.net/documents/SIA/20131115/
>
> This email is about the content of Section 2.17 of the above WD.
>
>
> One of the early CSP initiatives was for all services to support the upload 
> of lists of values to be used in queries; while this is typically lists of 
> coordinates but not restricted to that. I feel this is a mandate/requirement 
> to include this in the SIA-2.0 query capability.
>
>
> ** Background:
>
> Note: the < > characters below are not literally included in any strings; 
> they just denote some variable content and I don't want to use examples.
>
> DALI says how to upload a resource for use in a job:
>
>       UPLOAD=<name>,<uri>
>
> where other parameters would use the <name> to refer to the table and <uri> 
> gives the location of the table data (either inline or some URL).
>
> In TAP, the other parameter is QUERY and it refers to the table as
>
>      TAP_UPLOAD.<name>
>
> and the columns in the normal way that the query language refers to columns. 
> TAP specifically says the table is VOTable and the name attribute of the 
> FIELD is the column name.
>
> SIAv2 query parameters are multi-valued, so you can already pass in multiple 
> positions or energy ranges and have them all used in the query. The upload 
> feature is for cases when a table of values already exists -- quite likely as 
> a result from a previous query and (as you can do with TAP async) a result 
> from a  previous query that the client has not even downloaded... so the use 
> cases where upload is special is usually larger scale and/or orchestrating 
> multiple services.
>
>
> In the SIAv2 {query} resource, one can upload a table as above, but now we 
> need to refer to the table (and maybe the columns) in the query parameters, 
> eg POS, BAND, TIME, POL.
>
> ** Some possibilities pulled out of thin air:
>
> Magically get positional constraints out of the table:
>     POS=<name>
> - would work in simple contrived cases
> - table might not contain any identifiable position data
> - table might contain multiple/ambiguous position data
>
> Get specific constraints out of a column:
>     POS=<name>.<field.name>
> - would resolve the ambiguity, but assumes a single field contains the 
> complete position data (no multiple columns with RA and DEC, for example)
>
> Get specific constraints out of multiple columns:
>     POS=CIRCLE <name>.<ra column> <name>.<dec column> <name>.<radius column>
> - <name>.<radius column> could be replaced by a numeric constant
> - typical tables would not be feasibly usable with any other geometric value 
> types, but circle is > 95% of the use cases anyway
>
> Would <name> and <field.name> have to be marked up so we know they are 
> symbols or is just the fact that they are not numbers good enough? We are 
> essentially using variable names here so is it shell-script-like or 
> programming-language-like? Obviously, if a parameter was to acccept input 
> strings we would have to differentiate between a value and a reference to a 
> table/column, so that argues for symbol markup.
>
> Although TAP ends up defining the use of the symbolic table name in a way 
> that requires constructing and parsing strings, in that case it is a normal 
> part of using the available query language in the normal way. I chose the 
> same sort of thing above (sans the TAP_UPLOAD schema) but I'm not so 
> convinced myself that it isn't an unnatural mess.
>
>
> Thoughts? Better ideas? Worse ideas? :-)
>
>
> --
>
> Patrick Dowler
> Canadian Astronomy Data Centre
> National Research Council Canada
> 5071 West Saanich Road
> Victoria, BC V9A 2L9
>
> 250-363-0044 (office) 250-363-0045 (fax)
>


More information about the dal mailing list