-
-
Notifications
You must be signed in to change notification settings - Fork 171
Description
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.