opengeospatial / ogcapi-records

An open standard for the discovery of geospatial resources on the Web.
https://ogcapi.ogc.org/records
Other
56 stars 26 forks source link

STAC incompatibility: id format uri overrestrictive #365

Closed rob-metalinkage closed 1 month ago

rob-metalinkage commented 1 month ago

suggest relax to string to support compatibility with STAC expectations of Features

(note also strings can be interpreted as URI using JSON-LD contexts : see https://opengeospatial.github.io/bblocks/register/bblock/ogc.ogc-utils.iri-or-curie

https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/schemas/recordGeoJSON.yaml

    type: string
    description:
      A unique identifier of the catalog record.
    format: uri

STAC example: https://github.com/stac-extensions/eo/blob/3e5c9239a74276feaf49efa5274c252e977f9ebc/examples/item.json#L7

 "id": "20201211_223832_CS2",
m-mohr commented 1 month ago

Oh, that's something that slipped through in the STAC / Records crosswalk: https://github.com/stac-utils/stac-crosswalks/tree/master/ogcapi-records

I think relaxing to string-only would be appreciated.

kalxas commented 1 month ago

good catch, +1 to relax

pvretano commented 1 month ago

@m-mohr @kalxas it shall be done ...

rob-metalinkage commented 1 month ago

Thanks folks. Any volunteers to set up testing for the rest of the STAC extensions suite - https://github.com/ogcincubator/bblocks-stac/tree/master/_sources/extensions.

Happy to set up a coaching/doctors surgery session to help with the process - its fairly simple just for this Use Case - even if the machinery under the hood is doing some work to deal with JSON Schema version compatibility issues. Gives a pathway to automatically maintain registers of STAC extensions as well as linking them to each other and other related standards.

You could also integrate this into the STAC extensions template so each extension gets tested as part of development.

https://github.com/opengeospatial/bblock-template

(Create an issue on the template if there is a blocker for doing this)