[ckan-dev] CSW, ISO and Spatial Extension

David Read david.read at hackneyworkshop.com
Wed Oct 31 11:00:30 UTC 2012


Ryan,

Adria has covered most of this, but I thought I'd add a comment to this bit:

> While I'm new to SQLalchemy, spatial.controllers.csw:GetRecords looks to me
> like it is configured to only return records that were brought into the
> catalog via a harvest mechanism. Is this true?

Yes. The CKAN harvester goes to CSW servers to get ISO19139 XML
records. Each of those is translated into a CKAN record, but CKAN also
stores the original XML too. When CKAN exposes records on its own CSW
interface it simply provides the XML records, untouched. You're right
that we don't have a mechanism to convert CKAN records to ISO19139 XML
to expose on the CSW server.

> If so, that brings up what I suspect is the primary issue I would have to
> deal with in order to implement CKAN -- I suspect that there would need to
> be a mapping from CKAN's "internal metadata model" (basically the package
> table) into XML records that can be exposed via CSW. It is also likely that
> in order to generate a complete ISO 19139 record might require some
> additional content in the internal model.

I expect so. It could well live in the flexible 'extra' fields,
essentially in JSON format. By default, CKAN doesn't require many
fields are filled in, so you'd either have to increase its validation
in line with ISO19139, or when you expose datasets on the CKAN CSW,
filter out those which fail the ISO19139 validation.

So it's all very possible in the code, especially if you have Adria to help.

David




More information about the ckan-dev mailing list