iodepo / odis-arch

Development of the Ocean Data and Information System (ODIS) architecture
https://book.oceaninfohub.org/
26 stars 16 forks source link

Connect MarCOSIO as ODIS node #410

Open jmckenna opened 3 months ago

jmckenna commented 3 months ago

cc @raymondmolapo

jmckenna commented 3 months ago

@raymondmolapo see the existing Framing README & script

pbuttigieg commented 3 months ago

Example of the format ODIS would be able to process:

{
    "@context": {
        "@vocab": "https://schema.org/"
    },
    "@type": "Dataset",
    "@id": "URL:  Optional. A URL that resolves to *this* JSON-LD document, NOT the URL of the Dataset that this JSON-LD document describes. To link to the Dataset itself, please use 'url' and/or 'identifier')",
    "url": "https://ocims-dev.dhcp.meraka.csir.co.za/dataset/13d7ebb2-4850-4bca-9e53-985c7d45acf7",
    "name": "MSP Fisheries",
    "dateModified": "2024-04-02T14:04:29.858209",
    "datePublished": "2024-04-02T14:04:07.034570",
    "distribution": {
        "@type": "DataDownload",
        "url": "https://ocims-dev.dhcp.meraka.csir.co.za/dataset/13d7ebb2-4850-4bca-9e53-985c7d45acf7/resource/38d32cad-ec16-483f-aa64-fa88d20c30fa"
      },
    "includedInDataCatalog": {
    "@type": "DataCatalog",
      "description": "",
      "name": "CSIR Catalogue of spatial information",
      "url": "https://ocims-dev.dhcp.meraka.csir.co.za"
      },
      "keywords": [
        "fisheries",
        "ocean"
      ],
      "license": "License not specified",
       "publisher": {
        "@type": "Organization",
        "url": "https://ocims-dev.dhcp.meraka.csir.co.za/organization/3647d161-b3ad-4ebf-95ce-036e9fcebc2c"
      }

}

The ideal case, JSON-LD like that is embedded in the HTML of each webpage about the thing whose metadata you'd like to share. Then, you'd have a sitemap.xml, to tell ODIS (via your entry in ODISCat) where to find the JSON-LD you'd like to expose to the ODIS Federation.

https://book.oceaninfohub.org/publishing/publishing.html

The ZMT ODISCat entry, as an example:

image

raymondmolapo commented 4 weeks ago

The DCAT plugin enables metadata exposure in schema.org format at a dataset level. We had to change the default profile to allow for the exposure of the entire catalog.

We also needed a separate CKAN extension to generate sitemap.xml endpoint. It required some customization to conform to ODIS requirements.

cc @jmckenna