Virtual Observatory Query Language (VOQL) is currently under
discussion in the International Virtual Observatory Alliance (IVOA)
http://www.ivoa.net/twiki/bin/view/IVOA/IvoaVOQL. Current thinking is that VOQL has 3 layers as depicted below. ADQL and SkyNode constitute layer 1.
ADQL is the language for expressing queries against tabular data such as catalogs in the Virtual Observatory. The SkyNode (see below) specification proposes a standard way of passing this query. Since ADQL deals with tabular data it is appropriate for the result of such a query to be a Table. VOTable is an adopted standard of the Virtual Observatory, for providing tabular data. Hence we foresee the minimal requirement on servers that they provide results in VOTable. Other formats may also be offered by some nodes.
ADQL is passed as an XML document to the Query Interface. ADQL is based on a subset of SQL plus Region and XMatch. The only SQL command allowed in ADQL is a ``select''. We have adopted SQL like language as a first step since many astronomical data currently available are tabular data and they are stored in the relational databases. See the XSD and the current proposal specification for the complete structure of ADQL.
SkyQL is a string like representation of ADQL. Semantically SkyQL and ADQL are identical. Syntactically ADQL is XML and SkyQL is more human readable. For example, a simple SkyQL like
select t.*, b.* from Tab t, Bob b where t.g <> b.g and Region('Circle J2000 12.5 23.0 0.5')
will be converted to ADQL document of about 70 lines. This is why we might like a human readable SkyQL as well as the machine readable ADQL. Conversion between ADQL and SkyQL is automatic and sample converter applications are available .
Cross matching between tables will be supported in Full SkyNode (higher level SkyNode). The service XMatch() takes an ADQL structure and a set of VOTables. An example of the SkyQL (which would be expressed in ADQL format) is
select .... from SDSS:PhotoObj o, EXT:0 my1, EXT:1 my2 where XMatch(o,my1,my2) < 3
A Virtual Observatory Portal will be constructed on top of SkyNode's services to federate multiple data servers. One example of such a portal is the Open SkyQuery Portal which is an open version (not restricted on Microsoft Technology) of SkyQuery (http://www.skyquery.net). Further details are given in Budavári (2004).
All data servers joining the International Virtual Observatory would implement a standard IVOA SkyNode Interface based on SOAP (Simple Object Access Protocol) Web Services. See the current proposal specification.
The services of IVOA SkyNode are defined as WSDL (Web Services Definition Language). WSDL definition enables automatic code generation of Web Services e.g. Microsoft .NET or Apache Axis.
Currently two kinds of SkyNodes are proposed based on their features; Basic and Full. Basic SkyNode is the minimum IVOA SkyNode Interface. Full SkyNode supports advanced features like XMatch, QueryCost, Footprint and so on. The QueryCost service would take a simple ADQL query to return the object density per square degree for a set of criteria and the Footprint service would take a region specified in the region XML and return a new region which is the intersection of the survey and the given region.
This research was supported by Grant-in-aid "Information Science" carried out by the MEXT (14019092 and 15017289).
Budavári et al. 2004, this volume, 177
Digital Equipment Corporation 1992, Database Language SQL,
IVOA VOQL Working group, IVOA Astronomical Data Query Language - get latest from http://www.ivoa.net/twiki/bin/view/IVOA/IvoaVOQL
IVOA VOQL Working group, IVOA SkyNode Interface - get latest from