Sloan Digital Sky Survey
Astronomical Data Query Language


Draft Specifcation for IVOA SkyNode Interface
As of 0.6 ADQL has been split to its own document
As of 0.7 Standard Interfaces has been split to its own document on ivoa.
Version 0.7.4 SkyNode Word file SkyNode pdf file ADQL Word ADQL pdf
Version 0.7.1 ADQL Word ADQL pdf
Version 0.7 SkyNode Word file SkyNode pdf file ADQL Word ADQL pdf
Version 0.6 Skynode Word file Skynode pdf file ADQL Word ADQL pdf
Version 0.5 Word file pdf file
Version 0.4 Word file pdf file
Version 0.3 Word file pdf file
The ADQL schema and it's XML schema diagrams

Open SkyQuery

Building on the sucess of SkyQuery we wish to open up SkyQuery and bring it in line with VO technologies. To this end Open Sky Query is now in operation.

VOQL Mailing List

Open skyquery and skynodes are to be discussed on the VOQL mailing list..
To join send a mailwith body containing "subscribe voql" to or click on this link.
To post send mail to

Astronomical Data Query Language

The Astronomical Data Query Language is a proposed standard for the interoperability in the development of the International Virtual Observatory . ADQL is based on SQL but is passed in parse tree form as XML. The Servers in the Virtual Observatories could be searched using an ADQL query. The servers would return VOTables as a result of the query.

VOQL/ADQL Architecture

The following diagram was initially presented at the Cambridge IVOA meeting as an explanation of VOQL/ADQL. This version has been modifed and appears in the current specification

ADQL is a simple underlying protocal which would allow Archives to join the Virtual Observatory. VOQL is a higher level languge requiring ADQL and other Services to function.

The ADQL Schema

This XSD is not quite up to date with the latest Spec

ADQL is the XML equivalent of a scaled down SQL grammar. The only operation permitted is a Select. Regions in the form of the region specification will be allowed in ADQL to facilitate Astronomy Queries. This helps in providing the area in which the objects have to be found. The schema can be dowloaded here ADQL Schema.

A Parser for ADQL translations

ADQL is in XML because it is easier to handle on servers - you do not need to do the hard work of parseing SQL, a parse tree is handed to you. However a parser for converting from SQL strings to ADQL and vice versa will be very usefull. Although some Graphical interface will be built it will also be usefull to type SQL directly.
Hence there will be a Semanticaly identical string representaion for most ADQL documents which we may call SkyQL - it is unclear how we represent regions in this scheme.
A possibility/starting point is the coverspec of HTMDLL spec.

This web service provides translation between ADQL and SQL

The following pages are built upon this service:

A standard Queriable Interface Web Service for IVOA

A specification for the proposed standard is being worked on presently. Here is the specifcation Word file or pdf file as it stands now.
The Web Services provide five methods. These can be used to find out the details about the content of the Archives served by the web servcies, the tables contained, their columns etc.. Queries can be performed on a given archive using the PerformQuery method. VoData which may be VOTable or other formats are provided as a result of the ADQL queries.
Here is the latest WSDL File, which describes the Web Service.

Tutorials and samples for generating ADQL services and clients

In this section we look at how we implement new web services and clients that work on the proposed ADQL standards. We look at Java and C# implementations. The generated web clients can talk to any Java or C# web service that adheres to the ADQL standards and it holds good vice-versa also.

Below given are links to tutorials and samples on ADQL Services (these are alittle out of date but still usefull).

Active ADQL SkyNodes

Go to the Registry and use the predicate
 ServiceType like '%skynode%'
to find all open skynodes.

Footprint and region services

Footprint services will be very importatn in OpenSky Query. This paper helps explain the SDSS way of handling regions. SDSS Region specification

Vivek Haridas
Last Modified :Friday, May 21, 2004 at 10:42:00 AM , $Revision 1.21 $