[pycsw-devel] CSW Harvesting using APISO possible?

Tom Kralidis tomkralidis at gmail.com
Fri Feb 21 09:51:32 PST 2014


Hi Michael: FYI I'm continuing this discussion at
https://github.com/geopython/pycsw/issues/223 which will drive the
implmentation of this enhancement.

Thanks

On Fri, Feb 21, 2014 at 9:40 AM, Michael Schulz
<mandschulz at googlemail.com> wrote:
> Hi Tom,
>
> sure that would be an option. Although it's not just about the outputSchema
> returned from the getrecords request it's also about the typename to query.
> I don't think we can put both decisions in one config option, can we?
>
> There are actually two things coming together.
> - First, which typename to query. The specs (for AP ISO) say that the
> GetRecords operation must accept one of csw:Record or gmd:MD_Metadata. Which
> one should be used could be decided from the capabilities.
> - Second, which outputschema should be returned? This would be the part that
> could be configured via the parameter you suggested.
>
> Another option could actually be the "faulty" way I tried it in the
> beginning. I just reread the CSW ISO specification on the harvest topic, but
> it didn't help very much in that respect. I guess it wouldn't be wrong to
> specifiy the outputschema as the resourcetype in the harvest request. What
> do you think?
>
> Cheers, Michael
>
>
>
>
> 2014-02-20 20:02 GMT+01:00 Tom Kralidis <tomkralidis at gmail.com>:
>>
>>
>>
>> Sent from my iPhone
>>
>> On Feb 20, 2014, at 10:24, Michael Schulz <mandschulz at googlemail.com>
>> wrote:
>>
>> Hi Tom,
>>
>> thanks for your answer. In the AP ISO CSW profile however it is specified,
>> that one of csw.Record OR gmd:MD_Metadata must be supported (csw:Record
>> being the default).
>>
>> https://github.com/geopython/pycsw/issues/223
>>
>> Do you think it would be enough to check the servers capabilities which
>> typename(s) is/are supported and then choose the appropriate parser in
>> paerse_csw?
>>
>>
>> See
>> https://github.com/geopython/pycsw/issues/105 for more info. I you want to
>> harvest ISO metadata it is pertinent to specify the outputschema for ISO.
>>
>> For pycsw maybe we can add a setting (manager.csw_harvest_iso:true) which
>> makes the harvest ask for ISO metadata instead of the default Dublin Core.
>> Would this work for you?
>>
>>
>> Cheers, Michael
>>
>>
>> 2014-02-20 15:29 GMT+01:00 Tom Kralidis <tomkralidis at gmail.com>:
>>>
>>> On Thu, Feb 20, 2014 at 7:45 AM, Michael Schulz
>>> <mandschulz at googlemail.com> wrote:
>>> > Hi,
>>> >
>>> > ok, I think I understood my mistake... ResourceType needs to be left as
>>> > csw.
>>> > The reason is, that the CSW I'm querying only supports gmd:MD_Metadata
>>> > as
>>> > typename and not csw:Record.
>>>
>>> Do you mean outputschema and not typename? A valid CSW MUST support
>>> typname csw:Record typename and outputschema
>>> http://www.opengis.net/cat/csw/2.0.2 as baseline.
>>>
>>> >. But I think only csw:Record is requested from
>>> > pycsw...
>>> >
>>>
>>> Good catch.  You are right, pycsw always does CSW harvesting using the
>>> Dublin Core output, not ISO.  The initial implementation of CSW
>>> harvesting was focused on the core CSW baseline requirement of Dublin
>>> Core, which every CSW is required to implement/support.
>>>
>>> Having said this, sounds like a great idea to support CSW harvesting
>>> of ISO metadata.  We could probably add a configuration value which
>>> allows the pycsw admin to specify how CSW harvesting can be done.
>>>
>>> Can you file an enhancement ticket at
>>> https://github.com/geopython/pycsw/issues/new ?
>>>
>>> Thanks
>>>
>>> ..Tom
>>>
>>>
>>> > Cheers, Michael
>>> >
>>> >
>>> >
>>> >
>>> > 2014-02-20 13:15 GMT+01:00 Michael Schulz <mandschulz at googlemail.com>:
>>> >>
>>> >> Hi,
>>> >>
>>> >> I was wondering whether it should be in principle possible to harvest
>>> >> a
>>> >> remote CSW returning APISO metadata records? No problem in loading
>>> >> them from
>>> >> a file, but I didn't succeed in harvesting a CSW endpoint, using
>>> >> something
>>> >> like this (following the example in the tester, using another local
>>> >> csw
>>> >> instance):
>>> >>
>>> >> <Harvest xmlns="http://www.opengis.net/cat/csw/2.0.2"
>>> >> xmlns:ogc="http://www.opengis.net/ogc"
>>> >> xmlns:gmd="http://www.isotc211.org/2005/gmd"
>>> >> xmlns:ows="http://www.opengis.net/ows"
>>> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>> >> xmlns:dc="http://purl.org/dc/elements/1.1/"
>>> >> xmlns:dct="http://purl.org/dc/terms/"
>>> >> xmlns:gml="http://www.opengis.net/gml"
>>> >> 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-publication.xsd"
>>> >> service="CSW"
>>> >> version="2.0.2">
>>> >>
>>> >>
>>> >> <Source>http://mylocal_csw_instance?request=GetCapabilities&service=CSW</Source>
>>> >> <ResourceType>http://www.isotc211.org/schemas/2005/gmd/</ResourceType>
>>> >> <ResourceFormat>application/xml</ResourceFormat>
>>> >> </Harvest>
>>> >>
>>> >> And if I'm not wrong, then it won't parse the metadata records,
>>> >> because
>>> >> this case is not implemented in metadata.parse_record. If that's the
>>> >> case,
>>> >> then it should be just about adding a new condition to check for gmd
>>> >> resourceType and use parse_iso?
>>> >>
>>> >> Cheers, Michael
>>> >>
>>
>>
>>
>>
>> --
>> -----------------------------------------------------------
>> Michael Schulz
>>
>> Bahnhofstr. 62
>> D-63477 Maintal
>>
>> _______________________________________________
>> pycsw-devel mailing list
>> pycsw-devel at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pycsw-devel
>
>
>
>
> --
> -----------------------------------------------------------
> Michael Schulz
>
> Bahnhofstr. 62
> D-63477 Maintal
>


More information about the pycsw-devel mailing list