Open Data Product Standard (ODPS)
Open Data Product Standard descriptor file, from the Bitol project at The Linux Foundation
| Type | object |
|---|---|
| File match |
*.odps.yaml
*.odps.yml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/open-data-product-standard-odps/latest.json |
| Source | https://raw.githubusercontent.com/bitol-io/open-data-product-standard/main/schema/odps-json-schema-latest.json |
Validate with Lintel
npx @lintel/lintel check
An open data product standard descriptor to enable defining data products.
Properties
Version of the standard used to build data product. Default value is v1.0.0.
The kind of file this is. Valid value is DataProduct.
A unique identifier used to reduce the risk of dataset name collisions, such as a UUID.
Current status of the data product.
Name of the data product.
Current version of the data product. Not required, but highly recommended.
Business domain
Organization identifier
List of links to sources that provide more details on the data contract.
Object containing the descriptions.
5 nested properties
Intended purpose for the provided data.
Technical, compliance, and legal limitations for data use.
Recommended usage of the data.
List of links to sources that provide more details on the data contract.
A list of key/value pairs for custom properties.
A list of key/value pairs for custom properties.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
List of objects describing an input port. You need at least one as a data product needs to get data somewhere.
List of objects describing an output port. You need at least one, as a data product without output is useless.
Management ports define access points for managing the data product.
Support and communication channels.
Team information.
6 nested properties
Team name.
Team description.
List of members.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
Custom properties block.
Authoritative definitions block.
Timestamp in UTC of when the data product was created, using ISO 8601.
Definitions
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
"finance""sensitive""employee_record"
Object containing the descriptions.
Intended purpose for the provided data.
Technical, compliance, and legal limitations for data use.
Recommended usage of the data.
List of links to sources that provide more details on the data contract.
A list of key/value pairs for custom properties.
A key/value pair for custom properties.
The name of the key. Names should be in camel case, the same as if they were permanent properties in the contract.
The value of the key.
Optional description.
A type/link pair for authoritative definitions.
Type of definition for authority.
URL to the authority.
Optional description.
An input port describing expectations.
Name of the input port.
Version of the input port.
Contract ID for the input port.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
Custom properties block.
Authoritative definitions block.
An output port describing promises.
Name of the output port.
For each version, a different instance of the output port is listed. The combination of the name and version is the key.
Human readable short description of the output port.
There can be different types of output ports, each automated and handled differently. Here you can indicate the type.
Contract ID for the output port.
The SBOM can/should be at the version level.
Dependencies or input contracts.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
Custom properties block.
Authoritative definitions block.
Software Bill of Materials.
URL to the SBOM.
Type of SBOM.
Input contract dependency.
Contract ID or contractId.
Version of the input contract.
Management port for managing the data product.
Endpoint identifier or unique name.
Content type.
Type: can be rest or topic. Default is rest.
URL to access the endpoint.
Channel to communicate with the data product.
Purpose and usage.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
Custom properties block.
Authoritative definitions block.
Support channel.
Channel name or identifier.
Access URL using normal URL scheme (https, mailto, etc.).
Description of the channel, free text.
Name of the tool.
Scope can be: interactive, announcements, issues.
Some tools uses invitation URL for requesting or subscribing. Follows the URL scheme.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
Custom properties block.
Authoritative definitions block.
Team member information.
The user's username or email.
The user's name.
The user's description.
The user's job role; Examples might be owner, data steward. There is no limit on the role.
The date when the user joined the team.
The date when the user ceased to be part of the team.
The username of the user who replaced the previous user.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
Custom properties block.
Authoritative definitions block.
Team information.
Team name.
Team description.
List of members.
A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. Tags may be used to better categorize an element. For example, finance, sensitive, employee_record.
Custom properties block.
Authoritative definitions block.