What's new in Version 2?
1. Only approved records (Component or Service) will be retrieved. 2. Only standardIDs will be returned in the Service record. Clearinghouses, Web Portals and other CSR clients need to issue a HTTP Get request to SIR to know the details about referenced standard(s).The exact HTTP Get KVP looks like:
http://seabass.ieee.org/groups/geoss/index.php?option=com_sir_200&Itemid=157&ID=STANDARDID where STANDARDID needs to be replaced with the exact standardID returned in the response. Please check out "Response Example - for Service" section below for details.
Brief Introduction The GEOSS registry
exposes OGC CSW interfaces to be accessed by other applications,
including GEOSS Clearinghouses, Web Portal solutions. The UDDI and OASIS ebXML-ebRS
interfaces will be ready soon. Clearinghouse implementations can use
the GEOSS registry to register and locate GEOSS catalog services as a
basis for evaluation, configuration, harvest, and distributed query.
This OGC CSW
Interface follows OGC 07-006r1: OpenGIS Catalogue Service
Implementation Specification (Ver.2.0.2), HTTP Protocol Binding. It
supports GetCapabilities, DescribeRecord, GetRecordByID, and GetRecords
funtions.
Service Address
http://geossregistries.info:1090/GEOSSCSW202/discovery
GetCapabilities
The mandatory
GetCapabilities operation allows CSW clients to retrieve service
metadata from a server. The response to a GetCapabilities request shall
be an XML document containing service metadata about the server. This
subclause specifies the XML document that a CSW server shall return to
describe its capabilities.
This GetCapabilities HTTP Get Request Example
contains the following KVPs:
Request=GetCapabilities
Service=CSW
Version=2.0.2
DescribeRecord
The mandatory
DescribeRecord operation 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.
This DescribeRecord HTTP Get Request Example
contains the following KVPs:
Request=DescribeRecord
Service=CSW
Version=2.0.2
NAMESPACE=xmlns(rim=urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0)
GetRecordById
The GetRecordById
function returns the detailed information for some
specific objects (Components and/or Services) of interest.
This GetRecordById
HTTP
Get Request Example contains the following KVPs:
Request=GetRecordById
Service=CSW
Id=urn:uuid:85fd419c-081b-4e69-8998-d1003b5d4489:1.4,urn:uuid:a9ad5a4b-1589-4876-a149-904fc5a9fef0:1.8
Controlled Vocabulary
The following controlled vocabularies are used in the CSR database for GEOSS Resource(Component) type, Resource availability, Societal Benefit Areas.
Resource Category
-------------------------------------------------------------------
Type Value
-------------------------------------------------------------------
Observing System or Sensor Network observingSystem
Exchange and Dissemination System dataExchangeAndDisseminationSystem
Modeling and Data Processing Center modelingAndDataProcessingCenter
Data set or Database dataSetdataBase
Catalog, Registry or Metadata Collection catalogRegistry
Portal or website webPortal
Software or application softwareApplication
Computational model model
Initiative or Programme initiative
Information feed, RSS, or alert feedAlert
Training or educational resources training
Web-accessible document, file, or graphic document
Resource Availability
-------------------------------------------------------------------
Name Value
-------------------------------------------------------------------
Continuously Operational continuousOperation
Intermittently Operational intermittentOperation
Not Operational notOperational
Societal Benefit Areas
-------------------------------------------------------------------
Name Value
-------------------------------------------------------------------
Agriculture Agriculture
Biodiversity Biodiversity
Climate Climate
Disasters Disasters
Ecosystems Ecosystems
Energy Energy
Health Health
Water Water
Weather Weather
GetRecords
The mandatory
GetRecords operation works as the primary mean of resource discovery in
the HTTP protocal binding. It does a search and a piggybacked present.
Only XML encoding is supported at this moment.
GetRecords Request XML Encoding
Examples

Request Example 1 - for all the Components
This query matches all the components. The response will only contains one Component, as defined by the maxRecords attribute.
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords service="CSW"
xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2" outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2
http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Organization">
<csw:ElementName>full</csw:ElementName>
</csw:Query>
</csw:GetRecords>
Request Example 2 - for all the Services
This query matches all the services. The response will only contains one Service, as defined by the maxRecords attribute.
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords service="CSW"
xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2" outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2
http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Service">
<csw:ElementName>full</csw:ElementName>
</csw:Query>
</csw:GetRecords>
Request Example 3 - for all the Components and Services
This query matches all the services and components. The response will only contains one Service, as defined by the maxRecords attribute, and the sequence of defined typeNames in Query element.
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords service="CSW"
xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2" outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2
http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Service rim:Organization">
<csw:ElementName>full</csw:ElementName>
</csw:Query>
</csw:GetRecords>
Request Example 4 - Component discovery based on its name.
This query is for the component that has name of "U.S. Geospatial One-Stop".
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2"
outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Organization">
<csw:ElementName>/rim:Organization/</csw:ElementName>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:Organization/rim:Name/rim:LocalizedString/@value</ogc:PropertyName>
<ogc:Literal>U.S. Geospatial One-Stop</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>

Request Example 5 - Service Request based on service name.
This query is for those services with their names contain "Geospatial One Stop".
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2"
outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Service">
<csw:ElementName>/rim:Service/</csw:ElementName>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:PropertyIsLike wildCard="*" singleChar="#" escapeChar="\">
<ogc:PropertyName>/rim:Service/rim:Name/rim:LocalizedString/@value</ogc:PropertyName>
<ogc:Literal>*Geospatial One Stop*</ogc:Literal>
</ogc:PropertyIsLike>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
 Request Example 6 - Service discovery based on its type.
This query is for those Catalog/Registry Services, no matter what kind of version it supports, no matter which application profile it follows.
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2"
outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Service">
<csw:ElementName>/rim:Service/</csw:ElementName>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:Service/rim:Slot/@name</ogc:PropertyName>
<ogc:Literal>standardTypes</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:Service/rim:Slot/rim:ValueList/rim:Value</ogc:PropertyName>
<ogc:Literal>Catalog/Registry Service</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:And>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
 Request Example 7 - Service discovery based on detailed requirements.
This query is ONLY for those Catalog/Registry Services that support OGC Catalogue Service 2.0.1 - Z39.50 binding.
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2"
outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Service">
<csw:ElementName>/rim:Service/</csw:ElementName>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:Service/rim:Slot/@name</ogc:PropertyName>
<ogc:Literal>standards</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:Service/rim:Slot/rim:ValueList/rim:Value</ogc:PropertyName>
<ogc:Literal>urn:ogc:serviceType:CatalogueService:2.0.1:Z39.50</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:And>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
 Request Example 8 - Service discovery based on standards reference information.
This query is ONLY for those Catalog/Registry Services that support OGC Catalogue Service 2.0.1 - HTTP binding - ISO19115/19119 application profile.
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecords
xmlns="http://www.opengis.net/cat/csw/2.0.2"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
version="2.0.2"
outputFormat="text/xml; charset=UTF-8"
outputSchema="http://www.opengis.net/cat/csw/2.0.2"
maxRecords="1"
startPosition="1">
<csw:Query typeNames="rim:Service">
<csw:ElementName>/rim:Service/</csw:ElementName>
<csw:Constraint version="1.1.0">
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:Service/rim:Slot/@name</ogc:PropertyName>
<ogc:Literal>standards</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>/rim:Service/rim:Slot/rim:ValueList/rim:Value</ogc:PropertyName>
<ogc:Literal>urn:ogc:serviceType:CatalogueService:2.0.1:HTTP:ISO19115/19119</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:And>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
GetRecords Response Examples
Response Example - for Component
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecordsResponse
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2
http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
version="2.0.2">
<csw:SearchStatus timestamp="2009.08.31.14.35.18"/>
<csw:SearchResults
numberOfRecordsReturned="1"
numberOfRecordsMatched="1"
nextRecord="0">
<rim:Organization
status="null" primaryContact="urn:uuid:9d0880ba-7776-4aa1-a7d4-8b1c71b538c3"
objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Organization"
id="urn:uuid:85fd419c-081b-4e69-8998-d1003b5d4489:1.4">
<rim:Slot name="Approval">
<rim:ValueList>
<rim:Value>yes</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="Catalogue">
<rim:ValueList>
<rim:Value/>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="Category">
<rim:ValueList>
<rim:Value>disseminationSystemPortalWebsite</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="ContactEmail">
<rim:ValueList>
<rim:Value>support@geodata.gov</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="ContactName">
<rim:ValueList>
<rim:Value>User Support</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="DateOfLastUpdate">
<rim:ValueList>
<rim:Value>Wed Apr 15 16:08:04 EDT 2009</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="GeoSponsor">
<rim:ValueList>
<rim:Value>United States</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="OnLineRef">
<rim:ValueList>
<rim:Value>http://geodata.gov</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="Owner">
<rim:ValueList>
<rim:Value>ddnebert</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="RespOrg">
<rim:ValueList>
<rim:Value>U.S. Geological Survey</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="SocietalBenefit">
<rim:ValueList>
<rim:Value>AgricultureBiodiversityClimateDisastersHealthWaterWeather</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="Status">
<rim:ValueList>
<rim:Value>continuousOperation</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="componentAbbrev">
<rim:ValueList>
<rim:Value>geodata.gov</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Name>
<rim:LocalizedString
xml:lang="en-US"
value="U.S. Geospatial One-Stop"
charset="UTF-8"/>
</rim:Name>
<rim:Description>
<rim:LocalizedString
xml:lang="en-US"
value="This Component provides comprehensive access to U.S.
geospatial data and services. It enables publishing of data sets
through the collection or harvest of descriptive metadata and
enables search and visualization of geospatial data through certain
standards-based services."
charset="UTF-8"/>
</rim:Description>
</rim:Organization>
</csw:SearchResults>
</csw:GetRecordsResponse>
Response Example - for Service
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecordsResponse
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2
http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
version="2.0.2">
<csw:SearchStatus
timestamp="2009.08.31.14.24.44"/>
<csw:SearchResults
numberOfRecordsReturned="1"
numberOfRecordsMatched="1"
nextRecord="0">
<rim:Service
status="null"
objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Service"
id="urn:uuid:a9ad5a4b-1589-4876-a149-904fc5a9fef0:1.8">
<rim:Slot name="Approval">
<rim:ValueList>
<rim:Value>yes</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="ContactEmail">
<rim:ValueList>
<rim:Value>support@geodata.gov</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="ContactName">
<rim:ValueList>
<rim:Value>User Support</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="DateOfLastUpdate">
<rim:ValueList>
<rim:Value>Tue Oct 28 13:37:05 EDT 2008</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="OnLineRef">
<rim:ValueList>
<rim:Value>http://www.geodata.gov/Portal/csw202/discovery?
request=GetCapabilities&service=CSW&
version=2.0.2</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="Owner">
<rim:ValueList>
<rim:Value>ddnebert</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="abbrev">
<rim:ValueList>
<rim:Value>gos-csw</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="beginDate">
<rim:ValueList>
<rim:Value>Indefinite Start</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="endDate">
<rim:ValueList>
<rim:Value>Ongoing</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="maxLat">
<rim:ValueList>
<rim:Value>71.0</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="maxLong">
<rim:ValueList>
<rim:Value>-65.0</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="minLat">
<rim:ValueList>
<rim:Value>18.0</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="minLong">
<rim:ValueList>
<rim:Value>-180.0</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="providingOrganization">
<rim:ValueList>
<rim:Value>urn:uuid:85fd419c-081b-4e69-8998-d1003b5d4489:1.4</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="serviceInfo">
<rim:ValueList>
<rim:Value>http://www.geodata.gov</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Slot name="standardIDs">
<rim:ValueList>
<rim:Value>urn:ogc:serviceType:CatalogueService:2.0.2:HTTP</rim:Value>
<rim:Value>urn:geoss-uuid:71c9a9fe253991eb5f60aa508e3ad994</rim:Value>
</rim:ValueList>
</rim:Slot>
<rim:Name>
<rim:LocalizedString
xml:lang="en-US"
value="Geospatial One Stop Catalog Service (OGC CSW)" charset="UTF-8"/>
</rim:Name>
<rim:Description>
<rim:LocalizedString
xml:lang="en-US"
value="This interface provides standard access to the Geospatial
One Stop national metadata catalog through the Open Geospatial
Consortium (OGC) Catalogue Service interface, Version 2.0.2. "
charset="UTF-8"/>
</rim:Description>
</rim:Service>
</csw:SearchResults>
</csw:GetRecordsResponse>
|