Catalogue Service for the Web (CSW), sometimes seen as Catalogue Service - Web, is a standard for exposing a catalogue of geospatial records in XML on the Internet (over HTTP). The catalogue is made up of records that describe geospatial data (e.g. KML), geospatial services (e.g. WMS), and related resources.
CSW is one part (or "profile") of the OGC Catalogue Service, which defines common interfaces to discover, browse, and query metadata about data, services, and other potential resources. Version 2.0 of the specification was released in May 2004. The most recent release is 2.0.2, which was published in 2007.[1] [2]
The records are in XML according to the standard. Typically the records include Dublin Core, ISO 19139 or FGDC metadata, encoded in UTF-8 characters. Each record must contain certain core fields including: Title, Format, Type (e.g. Dataset, DatasetCollection or Service), BoundingBox (a rectangle of interest, expressed in latitude and longitude), Coordinate Reference System, and Association (a link to another metadata record).
Operations defined by the CSW standard include:[3]
GetCapabilities
: "allows CSW clients to retrieve service metadata from a server"DescribeRecord
: "allows a client to discover elements of the information model supported by the target catalogue service. The operation allows some or all of the information model to be described".GetRecords
: search for records, returning record IDsGetRecordById
: "retrieves the default representation of catalogue records using their identifier"GetDomain
(optional): "used to obtain runtime information about the range of values of a metadata record element or request parameter"Harvest
(optional): create/update metadata by asking the server to 'pull' metadata from somewhereTransaction
(optional): create/edit metadata by 'pushing' the metadata to the serverRequests can encode the parameters in three different ways:
Responses are in XML.
GeoServer implements many OGC standards, including CSW. An example of the DescribeRecord
operation is as follows:[4] http://localhost:8080/geoserver/csw?service=CSW&version=2.0.2&request=DescribeRecord&typeName=gmd:MD_MetadataA (truncated) response:
Versions 2.0.0, 2.0.1 and 2.0.2 are subtly different, and different vendors implement them with variations.[5] Typically a CSW server will accept requests in one CSW version only, and it is up to the client to be flexible. e.g. ESRI Geoportal can be configured to harvest documents from CSW servers of a variety of versions and vendor variants [6] such as "GeoNetwork CSW 2.0.2 APISO".