ADQL - it aint so great
Noel Winstanley
nw at jb.man.ac.uk
Fri Jan 30 07:46:25 PST 2004
Bah!
I tried and I failed.
I can;t get any joy with the latest version of ADQL.
I had to hunt for the two sub-schemas it relies on - they're not pointed to
from the adql webpage. only 2 results for each in google - so not exactly
popular!
I managed to generate code from the ADQL schema using Castor, after editing it
to define a targetNamespace, and to point at the sub-schemas. The generated
code compiles up properly, which is something.
Then I needed some test documents to exercise the code with. I thought it
would be a simple matter to take the test documents I have for a previous
version of adql, and make a few changes. Errm, no. They've added even more
superfluous tags.
In the simpler cases, I managed to work out from the schema what extra verbage
I had to add. Note that the schema has _no_ documentation, and the
specification contains no useful description. There are diagrams, but again,
no text describing what it all means.
So I had a bright idea - use the sql-adql translator web service to generate
the test documents. At least this service working now - but it generates a
different, incompatible version of ADQL to that given in the schema. Gah.
>From what I can tell, the translator generates the latest version of ADQL,
while the downloadable schema is a bit out of date.
There's so many faults here
- no version information or namespacing in the generated adql;
- no version information or namespacing in the schema;
- no schema in the specification document!!! so its just waffle, nothing
concrete, and the real schema lags behind.
Then there's the design decision that 'adql is just a representation of the
parse tree of sql' and the oft-repeated statement on the mailing list that
users should never see ADQL.
Well, I'm a developer, and I need to see ADQL. I'd just like to know what it
means.
The specification is inadequate - it should contain an annotated xml schema,
(maybe defining a new namespace for each version). The specification should
also define the semantics of ADQL, probably as a translation between sql and
adql, and vice versa.
At the moment, it is simpler and more correct just to pass SQL to a service -
parsers for most languages already exist that will process SQL., and the
tokens of sql language has a defined meaning. ADQL has lacks this. It seems
baroquely complicated to translate from [Sky|S]QL at the user end to ADQL on
the wire, and back to (probably) SQL at the service end. Why not just pass
SQL straight through?
I'm really beginning to wonder whether ADQL is the most suitable query
language for astrogrid datacenters. What are its benefits?
right. I've vented my spleen. I'm knocking off for the weekend.
noel
On Friday 30 Jan 2004 12:14 pm, you wrote:
> Excellent thanks. I think you can pretty much copy the old cone search
> over - we don't need to worry too much yet about making it spot on as I
> think Clive P is still working on that.
>
> I shall be off this afternoon & this weekend (TA), back on Monday.
>
> Thanks!
>
> Martin
>
> Noel Winstanley wrote:
> > Hi martin,
> > Its a bit of work, but shouldn't be too much trouble. After all we've
> > solved the problem already for one version of the language - so hopefully
> > there shouldn't be any new invention required for this on.
> >
> > I'll give it a go this afternoon.
> >
> > It'll involve using castor to generate a new object model (in a fresh set
> > of packages).
> >
> > then taking the translation rules for the existing adql, and adapting a
> > copy of them for the new language.
> >
> > then adding another translator to the plugins, that can handle this new
> > version of adql. there'll need to be a new namespace defined, etc.
> >
> > so I can get the bulk of it done quickly. there'll probalby need to be
> > some tweaks done later - like implementing the region / cone searches --
> > needs an astronomer to do this.
> >
> > so I reckon I can get it cracked today, with tidying up next week.
> >
> > On Friday 30 Jan 2004 11:42 am, you wrote:
> >>Hi Noel
> >>
> >>Depending on how much of a loose end you're at, would you be able to do a
> >>translator for the v0.6 ADQL? That is, for the current schema at
> >>http://skyservice.pha.jhu.edu/develop/vo/adql/doc/ADQLSchema.xsd ? I'm
> >>being a bit slow on the simplifying schema front (partly cos of all this
> >>pontificating on the mailing lists which have gone ominously quiet
> >> today!). Also though I think it may take some time to get it approved,
> >> and in the meantime people are starting to use the query boxes you
> >> created. I've added a link to an SQL->ADQL translator on that page, but
> >> of course the translator gives the wrong version of ADQL for us!
> >>
> >>If you can do it, how long do you think it will take?
> >>
> >>Cheers,
> >>
> >>Martin
--
Dr Noel Winstanley - nw at jb.man.ac.uk 01477 572689
Senior Java Developer, Astrogrid Project.
Jodrell Bank Observatory, University of Manchester.
More information about the voql
mailing list