Skip to content

[OGC API Records] Provide record-level conformsTo scheme and describe the PyCSW variant #1145

@mvriel

Description

@mvriel

OGC API Records is -intentionally- vague which fields are and aren't available and the link structure is also not documented in the specification. This means that the type field -which is now dataset and service- does not inform the consumer how to interpret a record's metadata.

As an example: in our client we now have a heuristic that if there is a dataset with

  • a link that
    • has a protocol field starting with OGC:,
    • a rel of null and
    • a valid href url

We assume it is a PyCSW flavoured record and can interpret that link as a singular distribution to a related OGC service.

This heuristic is invalid in some cases (see the demo gis pycsw) which has a link with just a href (which is not in accordance with the spec as a rel field is required: https://docs.ogc.org/is/20-004r1/20-004r1.html#req_records-api_record-response).

The above means there is nothing telling me, as a consumer, how to get the endpoint -or accesspoint- for a record without indirectly inferring this is a PyCSW.

The solution

By introducing a conformsTo record extension (https://docs.ogc.org/is/20-004r1/20-004r1.html#sc_record_extensions) with a PyCSW specific conformance class, a consumer can reliably determine that this is a PyCSW-type record and it would be possible to add documentation to the PyCSW project to describe what a consumer can expect in terms of fields and links.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions