Closed kyyberi closed 4 months ago
Data Product description is different from data contract. Data Product description is more focused on the aspects of the data product as a commodity including data quality, detailed pricing plans, use case examples, usage rights, information about related data products, and SLA to mention a few. Some say that data contracts alone are enough and data product approach is not needed. This might be the case in some scenarios, but not when data is exposed as a commercial product to the mass market eg outside organization borders.
ODPS focuses on the data as a commodity aspect and thus data contract is not a built-in feature of it. The need to have data contracts for data products in some cases is still needed and thus we decided to enable the usage of data contracts in the context of ODPS as well. Instead of defining yet another specification, we decided to use the existing standards mentioned above).
In the below screenshot, you can see an example of how a Data Contract is referenced as a URL. The contract element binds together data contract related information in the ODPS.
The type defines the standard used to describe the data contract and can be now either Open Data Contract Standard “ODCS” or Data Contract Specification “DCS”. The contractURL is the URL to access details of the data contract. That can for example be Datamesh Manager as in the example or any other location as long as it can be expressed with a valid URL.
In the below example, you will see how to add a data contract in your ODPS as an inline element. It is still required to add the necessary metadata but no URL. Instead of the URL pointing to the data contract, you can add the content of it in YAML under spec element.
Optional data contract element with attributes.
Reference to related issue
Resolves #9