opengeospatial / ogcapi-records

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

Q: how to describe a process #393

Open lvdbrink opened 1 month ago

lvdbrink commented 1 month ago

Looking for guidance on how to describe a process in a Records catalog.

My guess is something like this (see below):

Is this a correct metadata record for an OGC API Processes process?


{
  "id": "21bf351f-6ee5-4234-ba7f-05a40f91fa36",
  "type": "Feature",
  "time": {
    "interval": [ "2024-10-16T13:30:00.000Z", "2024-10-16T13:30:00.000Z"]
  },
  "geometry": {
    "type": "Polygon",
    "coordinates": [ [ [ -180, -90 ], [ -180, 90 ],
          [ 180, 90 ], [ 180, -90 ], [ -180, -90 ] ] ]
  },
  "conformsTo": [
     "http://www.opengis.net/spec/ogcapi-records-1/1.0/req/record-core"
  ],
  "properties": {
    "created": "2024-10-16T13:31:00.514222Z",
    "updated": "2024-10-18T14:47:17.789656Z",
    "type": "Process",
    "title": "Demonstratie record OGC API Processes Drinkwater Rotterdam",
    "keywords": [ "gezondheid", "veiligheid", "Drinkwateronttrekkingspunten", "Drinkwaterrichtlijn"],
    "language": {
      "code": "en-CA",
      "name": "English (Canada)"
    },
    "languages": [
      {
        "code": "nl",
        "name": "Dutch"
      }
    ],
    "contacts": [
      {
        "name": "Gemeente Rotterdam",
        "links": [
           {
             "href": "https://www.rotterdam.nl/",
             "rel": "about",
             "type": "text/html"
           }
        ],
        "contactInstructions": "SEE PAGE: https://www.rotterdam.nl/geografische-basisinformatie-aanvragen#contact",
        "roles": [ "publisher" ]
      }
    ],
    "formats": [ "GeoJSON" ],
    "license": "http://creativecommons.org/publicdomain/zero/1.0/deed.nl"
  },
  "links": [
    {
      "rel": "alternate",
      "type": "text/html",
      "title": "This document as HTML",
      "href": "https://digilab.geocat.live/catalogue/api/collections/main/items/21bf351f-6ee5-4234-ba7f-05a40f91fa36?f=html"
    },
    {
      "rel": "service",
      "type": "OGC API Processes",
      "title": "OGC API Processes",
      "href": "https://ogc-api-processes.exp.tygron.com/processes/heatexp/"
    }
  ]
}
pvretano commented 1 month ago

@lvdbrink, this looks like a "reasonable" bare record describing a process.

However, keep in mind that different use cases, profiles, communities or interest will typically add additional metadata describing a process. For example, the EO community will add a lot of extra stuff (as STAC does) to describe a process. Things like bands, for example.

One comment, I would have the "type" value be a URI pointing to some formal taxonomy of resource types of which process is one. I'll take a look at the OGC names registry to see if they have an entry for "process".

Actually, now that I think of it, it would not be a bad idea for OGC to mandate that resource Standards must define an identifier for their resource type ...

lvdbrink commented 1 month ago

Actually, now that I think of it, it would not be a bad idea for OGC to mandate that resource Standards must define an identifier for their resource type ...

Yes, I like that! I was hoping there was some more formal taxonomy of resource types, but did not know of one.

pvretano commented 3 weeks ago

28-OCT-2024: According to @kalxas both ESA and WMO are looking for a registry of well known resource types. We are not quite sure what mechanism would be used to manage such a registry ... OGC NA perhaps? Perhaps we can look into setting up a "community registry" here on github for now. @pvretano, @lvdbrink, @kalxas, @tomkralidis etc. will discuss and see what we can do.

lvdbrink commented 3 weeks ago

OGC NA sounds like the most logical place to manage these resource types, but I'm in favor of setting up a community registry on github (in this repository?) as a first step.

ghobona commented 2 weeks ago

@lvdbrink The URIs in the conformsTo list should be using /conf/ instead of /req/ because they should be URIs of conformance classes.

Regarding a resource types register, many SWGs change the structure of their GitHub repos after a period of time.

So the SWG can create it in this repo as a CSV or SKOS file and then submit it to the OGC-NA when the standard goes for a TC Vote.

OGC Staff would then place the register on RAINBOW for permanence.