opendatamesh-initiative / odm-specification-dpdescriptor

The Data Product Descriptor Specification (DPDS) Repository
https://dpds.opendatamesh.org/
Apache License 2.0
65 stars 3 forks source link

Add semantic linking to DPDS #74

Open andrea-gioia opened 1 month ago

andrea-gioia commented 1 month ago

RFC-74 : Semantic Linking

Champion: @andrea-gioia

Summary

A semantic link is an explicit connection between a data asset exposed by a data product through one of its output ports and one or more concepts defined in a central enterprise ontology.

Motivation

Semantic linking is a way to bring semantics to a data product and improve its capability to be discovered, reused, and composed with other data products belonging to different domains.

Design and examples

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Simplified Movie Object (Compact)",
    "type": "object",

    "s-context": {
        "s-base": "https://schema.org",

        "s-type": "[Movie]",

        "movieId": null,
        "directorName": "director[Person].name",
        "directorCountryName": "director[Person].country[Country].name",
        "actors": "actor[Person].name",
        "copyright": {
            "s-type": "copyrightHolder[Organization]",
            "organizationId": null,
            "email": "contactPoint[ContactPoint].mail"
        }  
    },

    "properties": {
      "movieId": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "directorName": {
        "type": "string"
      },
      "directorCountryName": {
        "type": "string"
      },
      "actors": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "minItems": 1
      },
      "copyright": {  
        "type": "object",
        "properties": {
            "organizationId": {
                "type": "string"
            },
            "legalName": {
                "type": "string"
            },
            "email": {
                "type": "string"
            }
        }
      }
    }
  }

Explanation:

Alternatives

The alternative to use REST API Linked Data Keywords has been rejected because is not possible to manage easily semantic linking in flat schemas

Decision

Consequences

References