iodepo / odis-arch

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

OPFN specific additionalProperty to identify a record as associated with a subnetwork of ODIS #371

Open cmunozmas opened 7 months ago

cmunozmas commented 7 months ago

Way to identify content that belongs to a particular subnetwork like OPFN current sub-pattern for methods here: https://github.com/iodepo/odis-arch/blob/master/book/thematics/docs/graphs/methodology.json

pbuttigieg commented 4 months ago

We'll start a branch with the draft @cmunozmas prepared through consultations with @pbuttigieg and the OPFN founding partners:

Here's the draft, validator checks needed.


{
  "@context": {
    "@vocab": "https://schema.org/"
  },
  "@type": "DigitalDocument",
  "@id": "URL:  Optional. A URL that resolves to *this* JSON-LD document, NOT the URL of the DigitalDocument that this JSON-LD document describes. To link to the CreativeWork itself, please use 'url' and/or 'identifier')",
  "name": "Text: Name or title of the document",
  "abstract": "Text: Short description of the creative work to aid in searching",
  "version": ["https://schema.org/Text", "https://schema.org/Number"],
  "inLanguage": { "@type": "https://schema.org/Language" },
  "url": "URL",
  "license": [
        "URL",
        {"@type": "https://schema.org/CreativeWork"}
    ],
  "datePublished": [
        {"@type": "https://schema.org/Date"},
        {"@type": "https://schema.org/DateTime"}
    ],
  "contributor": [
        {"@type": "https://schema.org/Organization"},
        {"@type": "https://schema.org/Person"}
    ],
  "author": [
        {"@type": "https://schema.org/Organization"},
        {"@type": "https://schema.org/Person"}
    ],
  "identifier": {
    "@type": "PropertyValue",
    "propertyID": ["Text", "URL"],
    "value": "Text",
    "url": "URL"
  },
  "keywords": [
        "Text: Keywords or tags used to describe the CreativeWork.",
        {"@type": "https://schema.org/DefinedTerm"},
        "URL"
    ],  
  "additionalProperty":
    [
     { 
        "@type": "PropertyValue",
        "propertyID": "OPFN contribution",
        "description": "A boolean indicating whether or not the item described by this metadata is a contribution to the Ocean Practices Federated Network (OPFN)"
        "value": {"@type": "https://schema.org/Boolean"}
      }      
    ],
  "provider": [
        {"@type": "https://schema.org/Organization"},
        {"@type": "https://schema.org/Person"}
    ],
  "publisher": {
    "@type": "Organization"
  },
}
pbuttigieg commented 4 months ago

We'll use schema:Claim on the corresponding property, interpretedAsClaim, to digitise claims of something being a "best practice" and associate them with the interpreters of those claims.

"interpretedAsClaim": {
  "@type": "Claim",
  "appearance":  {"type": "https://schema.org/CreativeWork"},
  "claimInterpreter": [
     {"type": "https://schema.org/Person"},
     {"type": "https://schema.org/Organization"}
  ],
 "firstAppearance":  {"type": "https://schema.org/CreativeWork"}
}

As Claim is a CreativeWork, the text property can be used to summarise the claim content, as the schema documentation recommends. The use of sameAs links can be used for supporting claims. This is also an area that can be useful during the review and calls to displace or confirm claims of best practice:

Beyond ClaimReview, the Claim type can be associated with related creative works - for example a ScholarlyArticle or Question might be about some Claim.

We may be able to use the same approach for endorsements, SOPs, good practices, etc mapping them to the endorsing entity and the documentation of the endorsement.

This is an initial approach, but we'll need some more sophisticated authentication / validation of such claims and endorsements down the line, likely by token exchange. Few partners have this ability yet, however.