Author: | vieglais |
---|---|
Revision: | 1.3 |
Date: | 2003-05-08 |
The Query Interface Definition is a WSDL document that defines the operations and data structures of the query operation of the EcoGRID.
Note: should this really be called "Data Access" instead of "Query"?
The wsdl document has been moved to /seek/projects/ecogrid/src/xsd/QueryInterface.wsdl
The interface specification should be considered a preliminary draft and open for comment.
Three operations are defined in the ecogrid query interface:
Each operation contains a clientInfo structure that is currently defined to contain a timestamp and a client identifier (e.g. IP address). This data structure is meant as a place holder for more sophisticated content that may for example be used for client authentication.
The search operation returns zero or more records from a resource that match a supplied filter.
A SearchResponse message is generated in response to a SearchRequest operation. The SearchResponse message contains a clientInfo structure, the number of records that match the filter (value not reliable unless matchCount is TRUE in the SearchRequest), a boolean flag indicating if more records are available than were returned, and a resultset structure that contains an array or records as well as a metadata section that describes the resultset.
The inventory operation may be considered equivalent to the SQL operation:
SELECT fld, count() AS fldCnt FROM aTable GROUP BY fld ORDER BY fld ASC
An InventoryResponse message is generated in response to an InventoryRequest message. The InventoryResponse contains a clientInfo section, a recordSet and a boolean flag indicating if the response contains the complete resultset or if the response was truncated (an ecogrid query service may decide to limit the amount of information available in a single request).
The recordSet contains simple records that contain the value of a field and the number of occurrences of that value within that field.
The update operation permits editing, deleting and appending records in a resource. Records that are to be updated are included in the request message. There must be sufficient information in each record to uniquely identify the intended target record within the resource (e.g. using a row ID).
An UpdateResponse message is generated in reponse to an UpdateRequest message. The UpdateResponse contains a clientInfo section and an array of status records indicating the success or otherwise of the update operation for each record in the request.
This document is formatted as reStructuredText (http://docutils.sourceforge.net/rst.html) which can be processed to html, docbook, pdf, or TeX with various docUtils (http://docutils.sourceforge.net) tools.