|
The GEOSS registry
exposes OGC CSW interfaces to be accessed by other applications,
including GEOSS 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 Component Systems
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 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:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
Request Example 2 - 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 3 - for all the Service
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
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:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>

Request Example 4 - 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 5 - 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 6 - 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 7 - Service discovery with more detailed requirements.
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="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:ogc="http://www.opengis.net/ogc" version="2.0.2">
<csw:SearchStatus timestamp="2009.04.08.10.45.16"/>
<csw:SearchResults
numberOfRecordsMatched="1"
numberOfRecordsReturned="1"
nextRecord="0">
<Organization
primaryContact="urn:uuid:9d0880ba-7776-4aa1-a7d4-8b1c71b538c3"
lid="urn:uuid:85fd419c-081b-4e69-8998-d1003b5d4489"
objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Organization"
status="urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted"
id="urn:uuid:85fd419c-081b-4e69-8998-d1003b5d4489:1.4"
xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<Slot name="Approval">
<ValueList><Value>no</Value></ValueList>
</Slot>
<Slot name="Catalogue">
<ValueList><Value/></ValueList>
</Slot>
<Slot name="Category">
<ValueList>
<Value>dataExchangeAndDisseminationSystem</Value>
</ValueList>
</Slot>
<Slot name="ContactEmail">
<ValueList><Value>support@geodata.gov</Value></ValueList>
</Slot>
<Slot name="ContactName">
<ValueList><Value>User Support</Value></ValueList>
</Slot>
<Slot name="DateOfLastUpdate">
<ValueList><Value>Wed Oct 29 11:23:13 EST 2008</Value></ValueList>
</Slot>
<Slot name="GeoSponsor">
<ValueList><Value>M0068</Value></ValueList>
</Slot>
<Slot name="OnLineRef">
<ValueList><Value>http://geodata.gov</Value></ValueList>
</Slot>
<Slot name="OrganizationType">
<ValueList><Value>GEOSSComponent</Value></ValueList>
</Slot>
<Slot name="Owner">
<ValueList><Value>ddnebert</Value></ValueList>
</Slot>
<Slot name="RespOrg">
<ValueList><Value>U.S. Geological Survey</Value></ValueList>
</Slot>
<Slot name="SocietalBenefit">
<ValueList>
<Value>Agriculture</Value>
<Value>Biodiversity</Value>
<Value>Climate</Value>
<Value>Disasters</Value>
<Value>Health</Value>
<Value>Water</Value>
<Value>Weather</Value>
</ValueList>
</Slot>
<Slot name="Status">
<ValueList><Value>continuousOperation</Value></ValueList>
</Slot>
<Slot name="componentAbbrev">
<ValueList><Value>geodata.gov</Value></ValueList>
</Slot>
<Name>
<LocalizedString charset="UTF-8" value="U.S. Geospatial One-Stop" xml:lang="en"/>
</Name>
<Description>
<LocalizedString
charset="UTF-8"
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."
xml:lang="en"/>
</Description>
<VersionInfo versionName="1.4"/>
<Address/>
</Organization>
</csw:SearchResults>
</csw:GetRecordsResponse>
 Response
Example - for Service
<?xml version="1.0" encoding="UTF-8"?>
<csw:GetRecordsResponse
xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:ogc="http://www.opengis.net/ogc"
version="2.0.2">
<csw:SearchStatus timestamp="2009.04.08.10.53.18"/>
<csw:SearchResults
numberOfRecordsMatched="1"
numberOfRecordsReturned="1"
nextRecord="0">
<Service
lid="urn:uuid:a9ad5a4b-1589-4876-a149-904fc5a9fef0"
objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Service"
status="urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted"
id="urn:uuid:a9ad5a4b-1589-4876-a149-904fc5a9fef0:1.8"
xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<Slot name="ContactEmail">
<ValueList><Value>support@geodata.gov</Value></ValueList>
</Slot>
<Slot name="ContactName">
<ValueList><Value>User Support</Value></ValueList>
</Slot>
<Slot name="DateOfLastUpdate">
<ValueList><Value>Tue Oct 28 12:37:05 EST 2008</Value></ValueList>
</Slot>
<Slot name="OnLineRef">
<ValueList>
<Value>http://www.geodata.gov/Portal/csw202/discovery?
request=GetCapabilities&service=CSW&version=2.0.2</Value>
</ValueList>
</Slot>
<Slot name="Owner">
<ValueList><Value>ddnebert</Value></ValueList>
</Slot>
<Slot name="ServiceType">
<ValueList><Value>GEOSSService</Value></ValueList>
</Slot>
<Slot name="abbrev">
<ValueList><Value>gos-csw</Value></ValueList>
</Slot>
<Slot name="beginDate">
<ValueList><Value>Indefinite Start</Value></ValueList>
</Slot>
<Slot name="endDate">
<ValueList><Value>Ongoing</Value></ValueList>
</Slot>
<Slot name="geoss">
<ValueList><Value>yes</Value></ValueList>
</Slot>
<Slot name="maxLat">
<ValueList><Value>71.0</Value></ValueList>
</Slot>
<Slot name="maxLong">
<ValueList><Value>-65.0</Value></ValueList>
</Slot>
<Slot name="minLat">
<ValueList><Value>18.0</Value></ValueList>
</Slot>
<Slot name="minLong">
<ValueList><Value>-180.0</Value></ValueList>
</Slot>
<Slot name="providingOrganization">
<ValueList>
<Value>urn:uuid:85fd419c-081b-4e69-8998-d1003b5d4489:1.4</Value></ValueList>
</Slot>
<Slot name="serviceInfo">
<ValueList><Value>http://www.geodata.gov</Value></ValueList>
</Slot>
<Slot name="standardTypes">
<ValueList>
<Value>Metadata</Value>
<Value>Catalog/Registry Service</Value>
</ValueList>
</Slot>
<Slot name="standards">
<ValueList>
<Value>USA FGDC CSDGM</Value>
<Value>OGC Catalogue Service 2.0.2/HTTP</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString
charset="UTF-8"
value="Geospatial One Stop Catalog Service (OGC CSW)"
xml:lang="en"/>
</Name>
<Description>
<LocalizedString
charset="UTF-8"
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. " xml:lang="en"/>
</Description>
<VersionInfo versionName="1.8"/>
</Service>
</csw:SearchResults>
</csw:GetRecordsResponse>
|