Closed kyyberi closed 1 year ago
This is going forward soon
Lets invite Datamix people to the next Technical Steering Committee meeting. I have the contacts and I can pass on the invitation
{
"title": "Root Schema",
"description": "The root schema is the schema that comprises the entire JSON document.",
"type": "object",
"required": [
"product"
],
"properties": {
"product": {
"title": "The product Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"en",
"recommendedDataProducts",
"pricingPlans",
"dataOps",
"dataAccess",
"dataQuality",
"SLA",
"license",
"dataHolder"
],
"properties": {
"en": {
"title": "The en Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"name",
"productID",
"valueProposition",
"description",
"productSeries",
"visibility",
"status",
"version",
"categories",
"standards",
"tags",
"brandSlogan",
"type",
"logoURL",
"OutputFileFormats",
"useCases"
],
"properties": {
"name": {
"title": "The name Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"productID": {
"title": "The productID Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"valueProposition": {
"title": "The valueProposition Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"description": {
"title": "The description Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"productSeries": {
"title": "The productSeries Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"visibility": {
"title": "The visibility Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"status": {
"title": "The status Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"version": {
"title": "The version Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"categories": {
"title": "The categories Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
},
"standards": {
"title": "The standards Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
},
"tags": {
"title": "The tags Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
},
"brandSlogan": {
"title": "The brandSlogan Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"type": {
"title": "The type Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"logoURL": {
"title": "The logoURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"OutputFileFormats": {
"title": "The OutputFileFormats Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
},
"useCases": {
"title": "The useCases Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
}
}
},
"recommendedDataProducts": {
"title": "The recommendedDataProducts Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
},
"pricingPlans": {
"title": "The pricingPlans Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"en"
],
"properties": {
"en": {
"title": "The en Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
}
}
},
"dataOps": {
"title": "The dataOps Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"infrastructure"
],
"properties": {
"infrastructure": {
"title": "The infrastructure Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"platform",
"storageTechnology",
"storageType",
"containerTool",
"format",
"status",
"schemaLocationURL",
"scriptURL",
"deploymentDocumentationURL",
"dataLineageTool",
"dataLineageOutput",
"hashType",
"checksum"
],
"properties": {
"platform": {
"title": "The platform Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"storageTechnology": {
"title": "The storageTechnology Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"storageType": {
"title": "The storageType Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"containerTool": {
"title": "The containerTool Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"format": {
"title": "The format Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"status": {
"title": "The status Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"schemaLocationURL": {
"title": "The schemaLocationURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"scriptURL": {
"title": "The scriptURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"deploymentDocumentationURL": {
"title": "The deploymentDocumentationURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"dataLineageTool": {
"title": "The dataLineageTool Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"dataLineageOutput": {
"title": "The dataLineageOutput Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"hashType": {
"title": "The hashType Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"checksum": {
"title": "The checksum Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
}
}
},
"dataAccess": {
"title": "The dataAccess Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"type",
"authenticationMethod",
"specification",
"format",
"documentationURL"
],
"properties": {
"type": {
"title": "The type Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"authenticationMethod": {
"title": "The authenticationMethod Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"specification": {
"title": "The specification Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"format": {
"title": "The format Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"documentationURL": {
"title": "The documentationURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
},
"dataQuality": {
"title": "The dataQuality Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"accuracy",
"completeness",
"consistency",
"timeliness",
"validity",
"uniqueness",
"dataQualityAssuranceMethods"
],
"properties": {
"accuracy": {
"title": "The accuracy Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
},
"completeness": {
"title": "The completeness Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
},
"consistency": {
"title": "The consistency Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
},
"timeliness": {
"title": "The timeliness Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"validity": {
"title": "The validity Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
},
"uniqueness": {
"title": "The uniqueness Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
},
"dataQualityAssuranceMethods": {
"title": "The dataQualityAssuranceMethods Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
},
"SLA": {
"title": "The SLA Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"updateFrequency",
"uptime",
"responseTime",
"nullValues",
"support",
"observability"
],
"properties": {
"updateFrequency": {
"title": "The updateFrequency Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"unit",
"value"
],
"properties": {
"unit": {
"title": "The unit Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"value": {
"title": "The value Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
}
}
},
"uptime": {
"title": "The uptime Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"unit",
"value"
],
"properties": {
"unit": {
"title": "The unit Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"value": {
"title": "The value Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
}
}
},
"responseTime": {
"title": "The responseTime Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"unit",
"value"
],
"properties": {
"unit": {
"title": "The unit Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"value": {
"title": "The value Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
}
}
},
"nullValues": {
"title": "The nullValues Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"unit",
"value"
],
"properties": {
"unit": {
"title": "The unit Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"value": {
"title": "The value Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
}
}
},
"support": {
"title": "The support Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"company",
"community"
],
"properties": {
"company": {
"title": "The company Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"phoneNumber",
"phoneServiceHours",
"chatURL",
"chatServiceHours",
"chatResponseTime",
"email",
"emailServiceHours",
"emailResponseTime",
"documentationURL",
"guidesURL"
],
"properties": {
"phoneNumber": {
"title": "The phoneNumber Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"phoneServiceHours": {
"title": "The phoneServiceHours Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"chatURL": {
"title": "The chatURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"chatServiceHours": {
"title": "The chatServiceHours Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"chatResponseTime": {
"title": "The chatResponseTime Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"email": {
"title": "The email Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"emailServiceHours": {
"title": "The emailServiceHours Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"emailResponseTime": {
"title": "The emailResponseTime Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"documentationURL": {
"title": "The documentationURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"guidesURL": {
"title": "The guidesURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
},
"community": {
"title": "The community Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"stackoverflowURL",
"forumURL",
"slackURL",
"twitterURL"
],
"properties": {
"stackoverflowURL": {
"title": "The stackoverflowURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"forumURL": {
"title": "The forumURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"slackURL": {
"title": "The slackURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"twitterURL": {
"title": "The twitterURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
}
}
},
"observability": {
"title": "The observability Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"logsURL",
"dashboardURL",
"uptimeURL"
],
"properties": {
"logsURL": {
"title": "The logsURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"dashboardURL": {
"title": "The dashboardURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"uptimeURL": {
"title": "The uptimeURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
}
}
},
"license": {
"title": "The license Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"scope",
"privacy",
"termination",
"governance"
],
"properties": {
"scope": {
"title": "The scope Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"definition",
"language",
"restrictions",
"geographicalArea",
"permanent",
"exclusive",
"rights"
],
"properties": {
"definition": {
"title": "The definition Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"language": {
"title": "The language Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"restrictions": {
"title": "The restrictions Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"geographicalArea": {
"title": "The geographicalArea Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
},
"permanent": {
"title": "The permanent Schema",
"description": "An explanation about the purpose of this instance.",
"type": "boolean"
},
"exclusive": {
"title": "The exclusive Schema",
"description": "An explanation about the purpose of this instance.",
"type": "boolean"
},
"rights": {
"title": "The rights Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
}
}
},
"privacy": {
"title": "The privacy Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"containsPersonalData",
"applicaplePrivacyLaws",
"dpaURL"
],
"properties": {
"containsPersonalData": {
"title": "The containsPersonalData Schema",
"description": "An explanation about the purpose of this instance.",
"type": "boolean"
},
"applicaplePrivacyLaws": {
"title": "The applicaplePrivacyLaws Schema",
"description": "An explanation about the purpose of this instance.",
"type": "array",
"items": {}
},
"dpaURL": {
"title": "The dpaURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
},
"termination": {
"title": "The termination Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"terminationConditions",
"continuityConditions"
],
"properties": {
"terminationConditions": {
"title": "The terminationConditions Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"continuityConditions": {
"title": "The continuityConditions Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
},
"governance": {
"title": "The governance Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"damages",
"confidentiality",
"applicableLaws",
"warranties",
"audit",
"forceMajeure"
],
"properties": {
"damages": {
"title": "The damages Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"confidentiality": {
"title": "The confidentiality Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"applicableLaws": {
"title": "The applicableLaws Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"warranties": {
"title": "The warranties Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"audit": {
"title": "The audit Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"forceMajeure": {
"title": "The forceMajeure Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
}
}
},
"dataHolder": {
"title": "The dataHolder Schema",
"description": "An explanation about the purpose of this instance.",
"type": "object",
"required": [
"taxID",
"vatID",
"businessDomain",
"logoURL",
"description",
"URL",
"telephone",
"streetAddress",
"postalCode",
"addressRegion",
"addressLocality",
"addressCountry",
"aggregateRating",
"ratingCount",
"slogan",
"parentOrganization"
],
"properties": {
"taxID": {
"title": "The taxID Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"vatID": {
"title": "The vatID Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"businessDomain": {
"title": "The businessDomain Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"logoURL": {
"title": "The logoURL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"description": {
"title": "The description Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"URL": {
"title": "The URL Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"telephone": {
"title": "The telephone Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"streetAddress": {
"title": "The streetAddress Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"postalCode": {
"title": "The postalCode Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"addressRegion": {
"title": "The addressRegion Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"addressLocality": {
"title": "The addressLocality Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"addressCountry": {
"title": "The addressCountry Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"aggregateRating": {
"title": "The aggregateRating Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"ratingCount": {
"title": "The ratingCount Schema",
"description": "An explanation about the purpose of this instance.",
"type": "number"
},
"slogan": {
"title": "The slogan Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
},
"parentOrganization": {
"title": "The parentOrganization Schema",
"description": "An explanation about the purpose of this instance.",
"type": "string"
}
}
}
}
}
}
}
Implemented to v2.1
Some have raised the need for Schema. That is valid point and now since the specification is in 1.0 version, it makes sense to publish also a Schema. DataMix has pledged to develop one soon. https://www.dataproductbusiness.com/post/datamix-contributes-schema-development-resources-to-open-data-product-specification