The basics of querying a catalogue are that some criterion is specified, all the rows in the catalogue are examined and those which satisfy the criterion are returned as the list of selected rows. Some criteria might be:
However, a very common sort of search on astronomical catalogues is the so-called `circular area search' or `cone search'. Virtually all astronomical catalogues contain celestial coordinates, in practice Right Ascension and Declination for some equinox and epoch. In a circular area search the central coordinates and angular radius are specified. All the objects in the catalogue which are less than this angular radius from the central coordinates are selected. That is, the circular area search finds all the objects in the catalogue within a given circular patch of sky.
It is usual for ACL servers to a support a circular area search and often this may be the only type of search provided. The full form of an ACL circular area search is slightly more general, with both an inner and outer radius specified, so that objects inside an annulus rather than a circle are selected. (The `traditional' circular area search corresponds to setting the inner radius to zero.)
The catalogue being accessed will doubtless have other columns as well as the Right Ascension and Declination, and the ACL server may permit `range' searches on some of these columns. In a range search minimum and maximum values are specified for a column and a row is selected if its value for the column falls within the given range. Any range searches specified are combined with each other and with the circular area search using a `logical and'. That is, for example, the objects selected would correspond to those which are both in a given area of sky and in a given magnitude range. Though this mechanism allows powerful queries to be made it still provides only a subset of all the conceivable types of queries.
Before starting work on an ACL server for a catalogue, you need to decide two things.
In order to implement the server you need to provide two things:
An ACL configuration file defines the list of catalogues which a client, such as GAIA or SkyCat, currently knows about. It has an entry for each catalogue. The entry specifies details of the catalogue which the client needs to know: the URL of its server, the types of queries that it supports, the name by which it is to be described to the user etc.
Writing Catalogue and Image Servers for GAIA and CURSA