#444: CSW filters don't match Dublin Core identifiers
----------------------------+-----------------------------------------------
Reporter: rcoup | Owner: geonetwork-devel@…
Type: defect | Status: new
Priority: major | Milestone: v2.7.0
Component: Catalog server | Version: v2.6.3
Keywords: |
----------------------------+-----------------------------------------------
Dublin core records aren't retrievable via CSW `GetRecords` queries using
a filter on the `dc:identifier` element.
1. add a record (via template, upload, or CSW Transaction). See example
attachment.
2. head to http://localhost:8080/geonetwork/srv/en/test.csw and paste in
the following query. Notice how you get 0 results.
{{{
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:gmd="http://www.isotc211.org/2005/gmd" service="CSW"
version="2.0.2" resultType="results">
<csw:Query typeNames="csw:Record">
<csw:Constraint version="1.1.0">
<Filter xmlns="http://www.opengis.net/ogc">
<PropertyIsEqualTo>
<PropertyName>dc:identifier</PropertyName>
<Literal>12345678-1234-1234-abcd-
12345678901a</Literal>
</PropertyIsEqualTo>
</Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
}}}
3. Change the query to the following. Notice how you get 1 result, so the
record is definitely there.
{{{
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
xmlns:gmd="http://www.isotc211.org/2005/gmd" service="CSW"
version="2.0.2" resultType="results">
<csw:Query typeNames="csw:Record">
<csw:Constraint version="1.1.0">
<Filter xmlns="http://www.opengis.net/ogc">
<PropertyIsLike wildCard="*" escape="\" singleChar="?">
<PropertyName>dc:title</PropertyName>
<Literal>*Test*</Literal>
</PropertyIsLike>
</Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
}}}
* Using `identifier`, `apiso:identifier`, `dc:identifier`, `Id`, etc as
the `PropertyName` doesn't make any difference.
* ISO19139 records are returned (using a `PropertyName` of either
`apiso:identifier`, `dc:identifier`, or `identifier`), it appears to be
only Dublin Core records that are affected.
* the `dc:identifier` is in the metadata DB table as the `uuid` for the
record.
* using other filters (eg. `PropertyIsLike`) on the `dc:identifier`
element doesn't work either.
--
Ticket URL: <http://trac.osgeo.org/geonetwork/ticket/444>
GeoNetwork opensource Developer website <http://sourceforge.net/projects/geonetwork/>
GeoNetwork opensource is a standards based, Free and Open Source catalog application to manage spatially referenced resources through the web. It provides powerful metadata editing and search functions as well as an embedded interactive web map viewer. This website contains information related to the development of the software.