-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3355948
commit b9a976e
Showing
8 changed files
with
756 additions
and
647 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,109 +1,98 @@ | ||
dataContractSpecification: 0.9.3 | ||
id: my-data-contract-id | ||
info: | ||
title: My Data Contract | ||
version: 0.0.1 | ||
# description: | ||
# owner: | ||
# contact: | ||
# name: | ||
# url: | ||
# email: | ||
|
||
|
||
### servers | ||
|
||
#servers: | ||
# production: | ||
# type: s3 | ||
# location: s3:// | ||
# format: parquet | ||
# delimiter: new_line | ||
|
||
### terms | ||
|
||
#terms: | ||
# usage: | ||
# limitations: | ||
# billing: | ||
# noticePeriod: | ||
|
||
|
||
### models | ||
|
||
# models: | ||
# my_model: | ||
# description: | ||
# type: | ||
# fields: | ||
# my_field: | ||
# type: | ||
# description: | ||
|
||
|
||
### definitions | ||
|
||
# definitions: | ||
# my_field: | ||
# domain: | ||
# name: | ||
# title: | ||
# type: | ||
# description: | ||
# example: | ||
# pii: | ||
# classification: | ||
|
||
|
||
### examples | ||
|
||
#examples: | ||
# - type: csv | ||
# model: my_model | ||
# data: |- | ||
# id,timestamp,amount | ||
# "1001","2023-09-09T08:30:00Z",2500 | ||
# "1002","2023-09-08T15:45:00Z",1800 | ||
|
||
### servicelevels | ||
|
||
#servicelevels: | ||
# availability: | ||
# description: The server is available during support hours | ||
# percentage: 99.9% | ||
# retention: | ||
# description: Data is retained for one year because! | ||
# period: P1Y | ||
# unlimited: false | ||
# latency: | ||
# description: Data is available within 25 hours after the order was placed | ||
# threshold: 25h | ||
# sourceTimestampField: orders.order_timestamp | ||
# processedTimestampField: orders.processed_timestamp | ||
# freshness: | ||
# description: The age of the youngest row in a table. | ||
# threshold: 25h | ||
# timestampField: orders.order_timestamp | ||
# frequency: | ||
# description: Data is delivered once a day | ||
# type: batch # or streaming | ||
# interval: daily # for batch, either or cron | ||
# cron: 0 0 * * * # for batch, either or interval | ||
# support: | ||
# description: The data is available during typical business hours at headquarters | ||
# time: 9am to 5pm in EST on business days | ||
# responseTime: 1h | ||
# backup: | ||
# description: Data is backed up once a week, every Sunday at 0:00 UTC. | ||
# interval: weekly | ||
# cron: 0 0 * * 0 | ||
# recoveryTime: 24 hours | ||
# recoveryPoint: 1 week | ||
|
||
### quality | ||
|
||
#quality: | ||
# type: SodaCL | ||
# specification: | ||
# checks for my_model: |- | ||
# - duplicate_count(id) = 0 | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"type": "object", | ||
"description": "Clear and concise explanations of syntax, semantic, and classification of business objects in a given domain.", | ||
"properties": { | ||
"domain": { | ||
"type": "string", | ||
"description": "The domain in which this definition is valid.", | ||
"default": "global" | ||
}, | ||
"name": { | ||
"type": "string", | ||
"description": "The technical name of this definition." | ||
}, | ||
"title": { | ||
"type": "string", | ||
"description": "The business name of this definition." | ||
}, | ||
"description": { | ||
"type": "string", | ||
"description": "Clear and concise explanations related to the domain." | ||
}, | ||
"type": { | ||
"type": "string", | ||
"description": "The logical data type." | ||
}, | ||
"minLength": { | ||
"type": "integer", | ||
"description": "A value must be greater than or equal to this value. Applies only to string types." | ||
}, | ||
"maxLength": { | ||
"type": "integer", | ||
"description": "A value must be less than or equal to this value. Applies only to string types." | ||
}, | ||
"format": { | ||
"type": "string", | ||
"description": "Specific format requirements for the value (e.g., 'email', 'uri', 'uuid')." | ||
}, | ||
"precision": { | ||
"type": "integer", | ||
"examples": [ | ||
38 | ||
], | ||
"description": "The maximum number of digits in a number. Only applies to numeric values. Defaults to 38." | ||
}, | ||
"scale": { | ||
"type": "integer", | ||
"examples": [ | ||
0 | ||
], | ||
"description": "The maximum number of decimal places in a number. Only applies to numeric values. Defaults to 0." | ||
}, | ||
"pattern": { | ||
"type": "string", | ||
"description": "A regular expression pattern the value must match. Applies only to string types." | ||
}, | ||
"example": { | ||
"type": "string", | ||
"description": "An example value." | ||
}, | ||
"pii": { | ||
"type": "boolean", | ||
"description": "Indicates if the field contains Personal Identifiable Information (PII)." | ||
}, | ||
"classification": { | ||
"type": "string", | ||
"description": "The data class defining the sensitivity level for this field." | ||
}, | ||
"tags": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"description": "Custom metadata to provide additional context." | ||
}, | ||
"links": { | ||
"type": "object", | ||
"description": "Links to external resources.", | ||
"minProperties": 1, | ||
"propertyNames": { | ||
"pattern": "^[a-zA-Z0-9_-]+$" | ||
}, | ||
"additionalProperties": { | ||
"type": "string", | ||
"title": "Link", | ||
"description": "A URL to an external resource.", | ||
"format": "uri", | ||
"examples": [ | ||
"https://example.com" | ||
] | ||
} | ||
} | ||
}, | ||
"required": [ | ||
"name", | ||
"type" | ||
] | ||
} |
Oops, something went wrong.