"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"

GeoNetwork CSW Issues

Hints

The implementation of the CQL query parser is very basic and not complying to the OGC specification standard. It should be avoided, Filters should be used instead.

References:

Also the examples in the CSW test application are not working. Using <PropertyName>AnyText</PropertyName> in a filter query doesn't find any records. <PropertyName>any</PropertyName> has to be used instead.

Work in progress

According to the GeoNetwork developer mailing list, some work on the CSW implementation is currently in progress (http://n2.nabble.com/CSW---on-going-work-tp2163081p2163081.html):

Dear all, as we noticed some bug reports on CSW made yesterday by
tomkralidis, we would like to keep the list informed that we're
currently working on CSW improvements in GeoNetwork implementation first
made by Archie.

Main tasks are:
 * Add ISO Profil support
 * Add INSPIRE requirement for CSW
 * Add SpatialSearch capabilities
 * Update CQL parser to GeoTools one (instead of Zing one)
 * Add GetDomain operation
 * Add Transaction operation (review Zhuahua Zha patch provided on this
list last year)
 * Pass OGC testsuite
 * Test with other implementation to produce a interoperabilty matrix
between tools.
 * Add configuration option for search parameter and GetCapabilities
information
 * Add some GeoNetwork extension for CSW (eg. summary results needed for
geocat.ch project)

This work is mainly supported by BRGM. I'm working on that with Mathieu,
Pierre and Etienne. It's also used by the MapFish client with JS api to
query CSW catalogues which is in the geocat.ch sandbox.

Testing interface is available here :
http://brgm-geosourcev2.demo-camptocamp.com/geonetwork_csw/srv/en/test.csw
Once done, a patch will be proposed for integration in GeoNetwork trunk.

More details on trac :
http://trac.osgeo.org/geonetwork/wiki/CSW202Improvements
Ciao. Francois

Sandbox with CSW improvements (under development)

https://geonetwork.svn.sourceforge.net/svnroot/geonetwork/sandbox/GeoSource/csw/

Email ref: http://n2.nabble.com/CSW-query-against-19139-content-model-tp2315010p2322445.html

GeoTools CSW implementation

Discussion on the GeoTools mailing list:

http://n2.nabble.com/PSC-tp2196104p2198792.html

Query: any == wfs

http://auscope-portal.arrc.csiro.au/geonetwork/srv/en/csw?request=GetRecords
   &service=CSW
   &resultType=results
   &namespace=csw:http://www.opengis.net/cat/csw
   &outputSchema=csw:IsoRecord
   &constraint=
      <Filter xmlns="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
         <PropertyIsEqualTo>
            <PropertyName>any</PropertyName>
            <Literal>wfs</Literal>
         </PropertyIsEqualTo>
      </Filter>
   &constraintLanguage=FILTER
   &constraint_language_version=1.1.0

Copy and paste:
http://auscope-portal.arrc.csiro.au/geonetwork/srv/en/csw?request=GetRecords&service=CSW&resultType=results&namespace=csw:http://www.opengis.net/cat/csw&outputSchema=csw:IsoRecord&constraint=<Filter xmlns="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><PropertyIsEqualTo><PropertyName>any</PropertyName><Literal>wfs</Literal></PropertyIsEqualTo></Filter>&constraintLanguage=FILTER&constraint_language_version=1.1.0

Query: keywords == WFS && Borehole

  • Copy and paste in your code:

queryString = 
   "http://auscope-portal.arrc.csiro.au/geonetwork/srv/en/csw?request=GetRecords" +
      "&service=CSW" +
      "&version=2.0.2" +
      "&resultType=results" +
      "&namespace=csw:http://www.opengis.net/cat/csw/2.0.2" +
      "&outputSchema=csw:IsoRecord" +
      "&constraint=" +
         "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
         "<Filter xmlns=\"http://www.opengis.net/ogc\" xmlns:gml=\"http://www.opengis.net/gml\">" +
            "<And>" +
               "<PropertyIsEqualTo>" +
                  "<PropertyName>keyword</PropertyName>" +
                  "<Literal>WFS</Literal>" +
               "</PropertyIsEqualTo>" +
               "<PropertyIsEqualTo>" +
                  "<PropertyName>keyword</PropertyName>" +
                  "<Literal>gsml:Borehole</Literal>" +
               "</PropertyIsEqualTo>" +
            "</And>" +
         "</Filter>" +
      "&constraintLanguage=FILTER" +
      "&constraint_language_version=1.1.0";

  • Copy and paste in your browser:

http://auscope-portal.arrc.csiro.au/geonetwork/srv/en/csw?request=GetRecords&service=CSW&version=2.0.2&resultType=results&namespace=csw:http://www.opengis.net/cat/csw/2.0.2&outputSchema=csw:IsoRecord&constraint=<?xml+version="1.0"+encoding="UTF-8"?><Filter+xmlns="http://www.opengis.net/ogc"+xmlns:gml="http://www.opengis.net/gml"><And><PropertyIsEqualTo><PropertyName>keyword</PropertyName><Literal>WFS</Literal></PropertyIsEqualTo><PropertyIsEqualTo><PropertyName>keyword</PropertyName><Literal>gsml:Borehole</Literal></PropertyIsEqualTo></And></Filter>&constraintLanguage=FILTER&constraint_language_version=1.1.0

Advanced query (for Jarek)

http://auscope-portal.arrc.csiro.au/geonetwork/srv/en/csw?request=GetRecords
   &service=CSW
   &resultType=results
   &namespace=csw:http://www.opengis.net/cat/csw
   &outputSchema=csw:IsoRecord
   &constraint=
      <Filter xmlns="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
         <And>
            <PropertyIsEqualTo>
               <PropertyName>keyword</PropertyName>
               <Literal>WFS</Literal>
            </PropertyIsEqualTo>
            <Or>
               <PropertyIsEqualTo>
                  <PropertyName>keyword</PropertyName>
                  <Literal>gsml:GeologicUnit</Literal>
               </PropertyIsEqualTo>
               <PropertyIsEqualTo>
                  <PropertyName>keyword</PropertyName>
                  <Literal>gsml:ShearDisplacementStructure</Literal>
               </PropertyIsEqualTo>
               <PropertyIsEqualTo>
                  <PropertyName>keyword</PropertyName>
                  <Literal>gsml:Contact</Literal>
               </PropertyIsEqualTo>
            </Or>
         </And>
      </Filter>
   &constraintLanguage=FILTER
   &constraint_language_version=1.1.0

OGC CSW schema compliance

At the moment GeoNetwork 2.2 and the installed BlueNet version does not generate CSW responses with valid XML according to the OGC schemas.

Links:

-- MichaelStegherr - 21 Jan 2009

 
Topic revision: r16 - 15 Oct 2010, UnknownUser
 

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).