From 1e3da3e7998994f4a13863e19b1b4d4bcde000ff Mon Sep 17 00:00:00 2001 From: Jonathan Oliveros Date: Wed, 17 Apr 2024 10:23:54 -0600 Subject: [PATCH 01/16] Break out processStep into its own file --- schema/lineage.json | 91 +------------------------------- schema/processStep.json | 114 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 90 deletions(-) create mode 100644 schema/processStep.json diff --git a/schema/lineage.json b/schema/lineage.json index 0bcca75..0cb5330 100644 --- a/schema/lineage.json +++ b/schema/lineage.json @@ -52,7 +52,7 @@ "ISO 19115-2": ["LI_Lineage > processStep > LI_ProcessStep"] }, "items": { - "$ref": "#/definitions/processStep" + "$ref": "./processStep.json#" } }, "source": { @@ -68,95 +68,6 @@ } }, "definitions": { - - "processStep": { - "type": "object", - "description": "Process or methodology steps applied to development of the resource.", - "example": "../examples/processStep.json", - "translation": { - "ISO 19115-2": ["LI_ProcessStep"] - }, - "required": ["description"], - "additionalProperties": true, - "properties": { - "stepId": { - "type": "string", - "description": "Serial identifier used to order the sequence of steps used.", - "translation": { - "ISO 19115-2": ["LI_ProcessStep @ id"] - } - }, - "description": { - "type": "string", - "description": "Description of the process or methodology step.", - "translation": { - "ISO 19115-2": ["LI_ProcessStep > description"], - "FGDC CSDGM": ["dataqual > lineage > procstep > procdesc"] - } - }, - "rationale": { - "type": "string", - "description": "Requirement or purpose for the process or methodology step.", - "translation": { - "ISO 19115-2": ["LI_ProcessStep > rationale"] - } - }, - "timePeriod": { - "description": "Date, datetime, or period at which the process or methodology step occurred.", - "translation": { - "ISO 19115-2": ["LI_ProcessStep > dateTime"], - "FGDC CSDGM": ["dataqual > lineage > procstep > procdate"] - }, - "$ref": "./timePeriod.json#" - }, - "processor": { - "type": "array", - "description": "Identification of, and means of communication with, person(s) and organization(s) associated with the process or methodology step.", - "translation": { - "ISO 19115-2": ["LI_ProcessStep > processor > CI_ResponsibleParty"], - "FGDC CSDGM": ["dataqual > lineage > procstep > proccont > cntinfo"] - }, - "items": { - "$ref": "./responsibility.json#" - } - }, - "stepSource": { - "type": "array", - "description": "Information about the source data used in the process step.", - "translation": { - "ISO 19115-2": ["DQ_DataQuality > LI_Lineage > LI_ProcessStep > LI_source"], - "FGDC CSDGM": ["dataqual > lineage > procstep > srcused"] - }, - "items": { - "$ref": "#/definitions/source" - } - }, - "stepProduct": { - "type": "array", - "description": "Information about an intermediate data set that (1) is significant in the opinion of the data producer, (2) is generated in the processing step, and (3) is used in later processing steps.", - "translation": { - "ISO 19115-2": ["DQ_DataQuality > LI_Lineage > LI_ProcessStep > LI_source"], - "FGDC CSDGM": ["dataqual > lineage > procstep > srcprod"] - }, - "items": { - "$ref": "#/definitions/source" - } - }, - "reference": { - "type": "array", - "description": "Citation for process step documentation.", - "translation": {}, - "items": { - "$ref": "./citation.json#" - } - }, - "scope": { - "$ref": "./scope.json#", - "description": "Type of resource and/or extent to which the process information.", - "translation": {} - } - } - }, "source": { "type": "object", "description": "Information about the source data used in creating the data identified by the data quality scope.", diff --git a/schema/processStep.json b/schema/processStep.json new file mode 100644 index 0000000..c42c612 --- /dev/null +++ b/schema/processStep.json @@ -0,0 +1,114 @@ +{ + "id": "processStep.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "Information on the history of the resource.", + "example": "../examples/processStep.json", + "translation": { + "ISO 19115-2": [ + "LI_Lineage" + ] + }, + "properties": { + "stepId": { + "type": "string", + "description": "Serial identifier used to order the sequence of steps used.", + "translation": { + "ISO 19115-2": [ + "LI_ProcessStep @ id" + ] + } + }, + "description": { + "type": "string", + "description": "Description of the process or methodology step.", + "translation": { + "ISO 19115-2": [ + "LI_ProcessStep > description" + ], + "FGDC CSDGM": [ + "dataqual > lineage > procstep > procdesc" + ] + } + }, + "rationale": { + "type": "string", + "description": "Requirement or purpose for the process or methodology step.", + "translation": { + "ISO 19115-2": [ + "LI_ProcessStep > rationale" + ] + } + }, + "timePeriod": { + "description": "Date, datetime, or period at which the process or methodology step occurred.", + "translation": { + "ISO 19115-2": [ + "LI_ProcessStep > dateTime" + ], + "FGDC CSDGM": [ + "dataqual > lineage > procstep > procdate" + ] + }, + "$ref": "./timePeriod.json#" + }, + "processor": { + "type": "array", + "description": "Identification of, and means of communication with, person(s) and organization(s) associated with the process or methodology step.", + "translation": { + "ISO 19115-2": [ + "LI_ProcessStep > processor > CI_ResponsibleParty" + ], + "FGDC CSDGM": [ + "dataqual > lineage > procstep > proccont > cntinfo" + ] + }, + "items": { + "$ref": "./responsibility.json#" + } + }, + "stepSource": { + "type": "array", + "description": "Information about the source data used in the process step.", + "translation": { + "ISO 19115-2": [ + "DQ_DataQuality > LI_Lineage > LI_ProcessStep > LI_source" + ], + "FGDC CSDGM": [ + "dataqual > lineage > procstep > srcused" + ] + }, + "items": { + "$ref": "#/definitions/source" + } + }, + "stepProduct": { + "type": "array", + "description": "Information about an intermediate data set that (1) is significant in the opinion of the data producer, (2) is generated in the processing step, and (3) is used in later processing steps.", + "translation": { + "ISO 19115-2": [ + "DQ_DataQuality > LI_Lineage > LI_ProcessStep > LI_source" + ], + "FGDC CSDGM": [ + "dataqual > lineage > procstep > srcprod" + ] + }, + "items": { + "$ref": "#/definitions/source" + } + }, + "reference": { + "type": "array", + "description": "Citation for process step documentation.", + "translation": {}, + "items": { + "$ref": "./citation.json#" + } + }, + "scope": { + "$ref": "./scope.json#", + "description": "Type of resource and/or extent to which the process information.", + "translation": {} + } + } +} \ No newline at end of file From f076b18fc92f431dca74f21d3d9bb507be2cf700 Mon Sep 17 00:00:00 2001 From: Jonathan Oliveros Date: Wed, 17 Apr 2024 10:33:22 -0600 Subject: [PATCH 02/16] Change reference of source to file --- schema/processStep.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/processStep.json b/schema/processStep.json index c42c612..f4eca00 100644 --- a/schema/processStep.json +++ b/schema/processStep.json @@ -79,7 +79,7 @@ ] }, "items": { - "$ref": "#/definitions/source" + "$ref": "./source.json#" } }, "stepProduct": { @@ -94,7 +94,7 @@ ] }, "items": { - "$ref": "#/definitions/source" + "$ref": "./source.json#" } }, "reference": { From d9d50c4996537042a08916001e35ef17c5015eca Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:15:18 -0600 Subject: [PATCH 03/16] Add algorithm class and example (#317) --- examples/algorithm.json | 4 ++++ schema/algorithm.json | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 examples/algorithm.json create mode 100644 schema/algorithm.json diff --git a/examples/algorithm.json b/examples/algorithm.json new file mode 100644 index 0000000..fbc23df --- /dev/null +++ b/examples/algorithm.json @@ -0,0 +1,4 @@ +{ + "citation": { }, + "description": "algorithm description" +} \ No newline at end of file diff --git a/schema/algorithm.json b/schema/algorithm.json new file mode 100644 index 0000000..89d443e --- /dev/null +++ b/schema/algorithm.json @@ -0,0 +1,19 @@ +{ + "id": "algorithm.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "details of the methodology by which geographic information was derived from the instrument readings", + "example": "../examples/algorithm.json", + "additionalProperties": true, + "required": ["citation","description"], + "properties": { + "citation": { + "$ref": "./citation.json#", + "description": "information identifying the algorithm and version or date" + }, + "description": { + "type": "string", + "description": "information describing the algorithm used to generate the data" + } + } +} \ No newline at end of file From 1a16fc35c4c13cbdd07328ed1253dac12530bfb9 Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:19:53 -0600 Subject: [PATCH 04/16] Add nominalResolution class and example (#316) * Add nominalResolution class and example * fix reference to measure --- examples/nominalResolution.json | 7 +++++++ schema/nominalResolution.json | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 examples/nominalResolution.json create mode 100644 schema/nominalResolution.json diff --git a/examples/nominalResolution.json b/examples/nominalResolution.json new file mode 100644 index 0000000..85fd777 --- /dev/null +++ b/examples/nominalResolution.json @@ -0,0 +1,7 @@ +{ + "groundResolution": { + "type": "distance", + "value": 999.9, + "unitOfMeasure": "units" + } +} \ No newline at end of file diff --git a/schema/nominalResolution.json b/schema/nominalResolution.json new file mode 100644 index 0000000..e031a8e --- /dev/null +++ b/schema/nominalResolution.json @@ -0,0 +1,32 @@ +{ + "id": "nominalResolution.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "Information about the source data used in creating the data identified by the data quality scope.", + "example": "../examples/nominalResolution.json", + "additionalProperties": true, + "oneOf": [ + { + "title": "Scanning Resolution is required", + "required": [ + "scanningResolution" + ] + }, + { + "title": "Ground Resolution is required", + "required": [ + "groundResolution" + ] + } + ], + "properties": { + "scanningResolution": { + "$ref": "./measure.json#", + "description": "distance between consistent parts of (center, left side, right side) adjacent pixels in the scan plane" + }, + "groundResolution": { + "$ref": "./measure.json#", + "description": "consistent parts of (center, left side, right side) adjacent pixels in the object space" + } + } +} \ No newline at end of file From a09c8d6fb54ab4d0fe6d4d0012fc0545c5abc883 Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Mon, 22 Apr 2024 09:26:09 -0600 Subject: [PATCH 05/16] Update processStep class and example to include processingInformation and report (#314) --- examples/processStep.json | 4 +++- schema/processStep.json | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/examples/processStep.json b/examples/processStep.json index 774abfd..2f6fae8 100644 --- a/examples/processStep.json +++ b/examples/processStep.json @@ -96,5 +96,7 @@ { "title": "title" } - ] + ], + "processingInformation": { }, + "report": [ ] }] diff --git a/schema/processStep.json b/schema/processStep.json index f4eca00..7fd0fb9 100644 --- a/schema/processStep.json +++ b/schema/processStep.json @@ -109,6 +109,17 @@ "$ref": "./scope.json#", "description": "Type of resource and/or extent to which the process information.", "translation": {} + }, + "processingInformation": { + "$ref": "./processing.json#", + "description": "comprehensive information about the procedure by which the algorithm was applied to derive geographic data from the raw instrument measurements, such as datasets, software used, and the processing environment" + }, + "report": { + "type": "array", + "items": { + "$ref": "./processStepReport.json#" + }, + "description": "report generated by the process step" } } } \ No newline at end of file From 33cb399604121bf0b0d45887117e2ecffba00973 Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Mon, 22 Apr 2024 09:31:44 -0600 Subject: [PATCH 06/16] Processing class (#311) * Add processing class and create ref in lineage * fix typo --- schema/lineage.json | 6 +++++- schema/processing.json | 47 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 schema/processing.json diff --git a/schema/lineage.json b/schema/lineage.json index 0cb5330..c3a0f4b 100644 --- a/schema/lineage.json +++ b/schema/lineage.json @@ -142,7 +142,11 @@ "$ref": "./scope.json#", "description": "Type of resource and/or extent to which the process information.", "translation": {} - } + }, + "processingInformation": { + "$ref": "./processingInformation.json#", + "description": "comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step" + } } } } diff --git a/schema/processing.json b/schema/processing.json new file mode 100644 index 0000000..7304f2f --- /dev/null +++ b/schema/processing.json @@ -0,0 +1,47 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "id": "processing.json#", + "type": "object", + "description": "comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step", + "example": "../examples/processing.json", + "required": ["identifier"], + "properties": { + "identifier": { + "$ref": "./identifier.json#", + "description": "information to identify the processing package that produced the data" + }, + "softwareReference": { + "$ref": "./citation.json#", + "description": "reference to document describing processing software" + }, + "procedureDescription": { + "type": "string", + "description": "additional details about the processing procedures" + }, + "documentation": { + "type": "array", + "items": { + "$ref": "./citation.json#" + }, + "description": "reference to documentation describing the processing" + }, + "runtimeParameters": { + "type": "string", + "description": "parameters to control the processing operations, entered at run time" + }, + "algorithm": { + "type": "array", + "items": { + "$ref": "./algorithm.json#" + }, + "description": "details of the methodology by which geographic information was derived from the instrument readings" + }, + "parameter": { + "type": "array", + "items": { + "$ref": "./ProcessParameter.json#" + }, + "description": "details of the methodology by which geographic information was derived from the instrument readings" + } + } +} \ No newline at end of file From d5693f0dbb4a04c5b4e25ac4c66bcddfccdc6c5c Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Mon, 22 Apr 2024 13:50:27 -0600 Subject: [PATCH 07/16] Add processParameter class (#312) * Add processParameter class * Add example * change example to be within an array --- examples/processParameter.json | 11 ++++++++ schema/processParameter.json | 50 ++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 examples/processParameter.json create mode 100644 schema/processParameter.json diff --git a/examples/processParameter.json b/examples/processParameter.json new file mode 100644 index 0000000..81a8180 --- /dev/null +++ b/examples/processParameter.json @@ -0,0 +1,11 @@ +[ + { + "name": "parameter name", + "direction": "in", + "description": "description", + "optionality": true, + "repeatability": false, + "valuetype": "value", + "value": [ ] + } +] \ No newline at end of file diff --git a/schema/processParameter.json b/schema/processParameter.json new file mode 100644 index 0000000..2edf2f9 --- /dev/null +++ b/schema/processParameter.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "id": "processParameter.json#", + "type": "object", + "description": "comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step", + "example": "../examples/processParamter.json", + "required": ["name","direction","optionality","repeatability"], + "properties": { + "name": { + "type": "string", + "description": "name or type of parameter" + }, + "direction": { + "type": "string", + "description": "indication the parameter is an input to the process, an output or both", + "enum": [ + "in", + "out", + "in/out" + ] + }, + "description": { + "type": "string", + "description": "narrative explaining the role of the parameter" + }, + "optionality": { + "type": "boolean", + "description": "indication the parameter is required" + }, + "repeatability": { + "type": "boolean", + "description": "indication if more than one value of the parameter may be provided" + }, + "valuetype": { + "type": "string", + "description": "data type of the value" + }, + "value": { + "type": "string", + "description": "constant value" + }, + "resource": { + "type": "array", + "items": { + "$ref": "./source.json#" + }, + "description": "resource to be processed" + } + } +} \ No newline at end of file From a4e6a4cdd0b91facfcb28a26fd697c2ca2e41d6f Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Mon, 22 Apr 2024 13:50:57 -0600 Subject: [PATCH 08/16] Add processStepReport class and example (#313) * Add processStepReport class and example * Update description * change example to be within an array --- examples/processStepReport.json | 7 +++++++ schema/processStepReport.json | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 examples/processStepReport.json create mode 100644 schema/processStepReport.json diff --git a/examples/processStepReport.json b/examples/processStepReport.json new file mode 100644 index 0000000..7942e16 --- /dev/null +++ b/examples/processStepReport.json @@ -0,0 +1,7 @@ +[ + { + "name": "process step report name", + "description": "process step report description", + "fileType": "process step report file type" + } +] \ No newline at end of file diff --git a/schema/processStepReport.json b/schema/processStepReport.json new file mode 100644 index 0000000..b8ac019 --- /dev/null +++ b/schema/processStepReport.json @@ -0,0 +1,22 @@ +{ + "id": "processStepReport.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "report of what occurred during the process step", + "example": "../examples/processStepReport.json", + "required": ["name"], + "properties": { + "name": { + "type": "string", + "description": "name of the processing report" + }, + "description": { + "type": "string", + "description": "textual description of what occurred during the process step" + }, + "fileType": { + "type": "string", + "description": "type of file that contains the processing report" + } + } +} \ No newline at end of file From a6300351b98cebfe205ca16dce84aac52b5f10ef Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Tue, 23 Apr 2024 08:47:42 -0600 Subject: [PATCH 09/16] Break out source into its own file and change reference to class location (#315) * Break out source into its own file and change reference to class location * fix file ref and added requested new fields to file * removed requirements --- schema/lineage.json | 2 +- schema/source.json | 88 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 schema/source.json diff --git a/schema/lineage.json b/schema/lineage.json index c3a0f4b..a46db48 100644 --- a/schema/lineage.json +++ b/schema/lineage.json @@ -63,7 +63,7 @@ "FGDC CSDGM": ["dataqual > lineage > srcinfo"] }, "items": { - "$ref": "#/definitions/source" + "$ref": "./source.json#" } } }, diff --git a/schema/source.json b/schema/source.json new file mode 100644 index 0000000..9db674e --- /dev/null +++ b/schema/source.json @@ -0,0 +1,88 @@ +{ + "id": "source.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "Information about the source data used in creating the data identified by the data quality scope.", + "example": "../examples/source.json", + "translation": { + "ISO 19115-2": [ + "LI_Source" + ] + }, + "additionalProperties": true, + "properties": { + "sourceId": { + "type": "string", + "description": "A unique identifier for the data source.", + "translation": { + "FGDC CSDGM": [ + "dataqual > lineage > srcinfo > srccitea" + ] + } + }, + "description": { + "type": "string", + "description": "A brief description about the source dataset used in creating the data identified by the data quality scope.", + "translation": { + "ISO 19115-2": [ + "LI_Source > description" + ] + } + }, + "sourceCitation": { + "description": "A citation providing information about the source dataset, including an online resource or other access instructions.", + "translation": { + "ISO 19115-2": [ + "LI_Source > sourceCitation > CI_Citation" + ], + "FGDC CSDGM": [ + "dataqual > lineage > srcinfo > srccite > citeinfo" + ] + }, + "$ref": "citation.json#" + }, + "metadataCitation": { + "type": "array", + "description": "Citation providing information about the metadata for the source.", + "translation": {}, + "items": { + "$ref": "citation.json#" + } + }, + "spatialResolution": { + "$ref": "./spatialResolution.json#", + "description": "The number below the line in a vulgar fraction", + "translation": {} + }, + "referenceSystem": { + "$ref": "./spatialReference.json#", + "description": "Spatial reference system used by the source.", + "translation": {} + }, + "sourceProcessStep": { + "type": "array", + "description": "A description of a non-trivial event or transformation taken to prepare the source data for use in creating the data identified by the data quality scope.", + "translation": { + "ISO 19115-2": [ + "LI_Source > sourceStep > LI_ProcessStep" + ] + }, + "items": { + "$ref": "./processStep.json#" + } + }, + "scope": { + "$ref": "./scope.json#", + "description": "Type of resource and/or extent to which the process information.", + "translation": {} + }, + "processLevel": { + "$ref": "./identifier.json#", + "description": "processing level of the source data" + }, + "resolution": { + "$ref": "./nominalResolution.json#", + "description": "distance between consistent parts (centre, left side, right side) of two adjacent pixel", + } + } +} \ No newline at end of file From 850cbefcd5cfe7f62b47139df749f7fcbda0d5df Mon Sep 17 00:00:00 2001 From: Johnathan Date: Wed, 24 Apr 2024 11:58:32 -0600 Subject: [PATCH 10/16] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f5cc1d2..0521fa2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mdjson-schemas", - "version": "2.9.1", + "version": "2.9.2-beta.1", "description": "JSON schemas, examples, and templates for ADIwg metadata standards", "main": "index.js", "directories": { From 9fbfaa1b62566a0fa7db2ad5ed68b3e087263370 Mon Sep 17 00:00:00 2001 From: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Date: Thu, 25 Apr 2024 15:07:12 -0600 Subject: [PATCH 11/16] remove duplicate definitions from lineage (#321) * remove unecessary description * remove duplicate definitions from lineage --- schema/lineage.json | 83 --------------------------------------------- 1 file changed, 83 deletions(-) diff --git a/schema/lineage.json b/schema/lineage.json index a46db48..6fa9c70 100644 --- a/schema/lineage.json +++ b/schema/lineage.json @@ -66,88 +66,5 @@ "$ref": "./source.json#" } } - }, - "definitions": { - "source": { - "type": "object", - "description": "Information about the source data used in creating the data identified by the data quality scope.", - "example": "../examples/source.json", - "translation": { - "ISO 19115-2": ["LI_Source"] - }, - "additionalProperties": true, - "anyOf": [{ - "title": "description is required", - "required": ["description"], - "description": "A description is required." - }, - { - "title": "scope is required", - "required": ["scope"], - "description": "At least one scope is required." - } - ], - "properties": { - "sourceId": { - "type": "string", - "description": "A unique identifier for the data source.", - "translation": { - "FGDC CSDGM": ["dataqual > lineage > srcinfo > srccitea"] - } - }, - "description": { - "type": "string", - "description": "A brief description about the source dataset used in creating the data identified by the data quality scope.", - "translation": { - "ISO 19115-2": ["LI_Source > description"] - } - }, - "sourceCitation": { - "description": "A citation providing information about the source dataset, including an online resource or other access instructions.", - "translation": { - "ISO 19115-2": ["LI_Source > sourceCitation > CI_Citation"], - "FGDC CSDGM": ["dataqual > lineage > srcinfo > srccite > citeinfo"] - }, - "$ref": "citation.json#" - }, - "metadataCitation": { - "type": "array", - "description": "Citation providing information about the metadata for the source.", - "translation": {}, - "items": { - "$ref": "citation.json#" - } - }, - "spatialResolution": { - "$ref": "./spatialResolution.json#", - "description": "The number below the line in a vulgar fraction", - "translation": {} - }, - "referenceSystem": { - "$ref": "./spatialReference.json#", - "description": "Spatial reference system used by the source.", - "translation": {} - }, - "sourceProcessStep": { - "type": "array", - "description": "A description of a non-trivial event or transformation taken to prepare the source data for use in creating the data identified by the data quality scope.", - "translation": { - "ISO 19115-2": ["LI_Source > sourceStep > LI_ProcessStep"] - }, - "items": { - "$ref": "#/definitions/processStep" - } - }, - "scope": { - "$ref": "./scope.json#", - "description": "Type of resource and/or extent to which the process information.", - "translation": {} - }, - "processingInformation": { - "$ref": "./processingInformation.json#", - "description": "comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step" - } - } - } } } From 5f32400f2846757366ad08d1a30ad3773fb49126 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Mon, 29 Apr 2024 14:26:05 -0600 Subject: [PATCH 12/16] Update processing schema to fix typo and improve descriptions --- schema/processing.json | 90 +++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/schema/processing.json b/schema/processing.json index 7304f2f..e394549 100644 --- a/schema/processing.json +++ b/schema/processing.json @@ -1,47 +1,47 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "processing.json#", - "type": "object", - "description": "comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step", - "example": "../examples/processing.json", - "required": ["identifier"], - "properties": { - "identifier": { - "$ref": "./identifier.json#", - "description": "information to identify the processing package that produced the data" - }, - "softwareReference": { - "$ref": "./citation.json#", - "description": "reference to document describing processing software" - }, - "procedureDescription": { - "type": "string", - "description": "additional details about the processing procedures" - }, - "documentation": { - "type": "array", - "items": { - "$ref": "./citation.json#" - }, - "description": "reference to documentation describing the processing" - }, - "runtimeParameters": { - "type": "string", - "description": "parameters to control the processing operations, entered at run time" - }, - "algorithm": { - "type": "array", - "items": { - "$ref": "./algorithm.json#" - }, - "description": "details of the methodology by which geographic information was derived from the instrument readings" - }, - "parameter": { - "type": "array", - "items": { - "$ref": "./ProcessParameter.json#" - }, - "description": "details of the methodology by which geographic information was derived from the instrument readings" - } + "$schema": "http://json-schema.org/draft-04/schema#", + "id": "processing.json#", + "type": "object", + "description": "comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step", + "example": "../examples/processing.json", + "required": ["identifier"], + "properties": { + "identifier": { + "$ref": "./identifier.json#", + "description": "information to identify the processing package that produced the data" + }, + "softwareReference": { + "$ref": "./citation.json#", + "description": "reference to document describing processing software" + }, + "procedureDescription": { + "type": "string", + "description": "additional details about the processing procedures" + }, + "documentation": { + "type": "array", + "items": { + "$ref": "./citation.json#" + }, + "description": "reference to documentation describing the processing" + }, + "runtimeParameters": { + "type": "string", + "description": "parameters to control the processing operations, entered at run time" + }, + "algorithm": { + "type": "array", + "items": { + "$ref": "./algorithm.json#" + }, + "description": "details of the methodology by which geographic information was derived from the instrument readings" + }, + "parameter": { + "type": "array", + "items": { + "$ref": "./processParameter.json#" + }, + "description": "details of the methodology by which geographic information was derived from the instrument readings" } -} \ No newline at end of file + } +} From 8d1457ed8306fc072f6f17d564126c02ce9887ea Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Tue, 30 Apr 2024 07:21:52 -0600 Subject: [PATCH 13/16] chore: Update version to 2.9.3-beta.0 --- lib/adiwg/mdjson_schemas/version.rb | 2 +- package.json | 2 +- schema/schema.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/adiwg/mdjson_schemas/version.rb b/lib/adiwg/mdjson_schemas/version.rb index 622e2b9..15bdb6a 100644 --- a/lib/adiwg/mdjson_schemas/version.rb +++ b/lib/adiwg/mdjson_schemas/version.rb @@ -1,6 +1,6 @@ module ADIWG module MdjsonSchemas # Current schema version number - VERSION = "2.9.1" + VERSION = "2.9.3-beta.0" end end diff --git a/package.json b/package.json index 0521fa2..eefeee9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mdjson-schemas", - "version": "2.9.2-beta.1", + "version": "2.9.3-beta.0", "description": "JSON schemas, examples, and templates for ADIwg metadata standards", "main": "index.js", "directories": { diff --git a/schema/schema.json b/schema/schema.json index b71cc65..390a812 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -1,7 +1,7 @@ { "id": "schema.json#", "$schema": "http://json-schema.org/draft-04/schema#", - "version": "2.9.1", + "version": "2.9.3-beta.0", "description": "schema for ADIwg mdJSON metadata", "example": "../examples/mdJson.json", "type": "object", From acc184b7833c445241775c0d891b3499a29a2297 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Tue, 30 Apr 2024 10:27:14 -0600 Subject: [PATCH 14/16] chore: Refactor source.json schema and improve descriptions --- schema/source.json | 158 +++++++++++++++++++++------------------------ 1 file changed, 73 insertions(+), 85 deletions(-) diff --git a/schema/source.json b/schema/source.json index 9db674e..3afdcef 100644 --- a/schema/source.json +++ b/schema/source.json @@ -1,88 +1,76 @@ { - "id": "source.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "description": "Information about the source data used in creating the data identified by the data quality scope.", - "example": "../examples/source.json", - "translation": { - "ISO 19115-2": [ - "LI_Source" - ] + "id": "source.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "description": "Information about the source data used in creating the data identified by the data quality scope.", + "example": "../examples/source.json", + "translation": { + "ISO 19115-2": ["LI_Source"] + }, + "additionalProperties": true, + "properties": { + "sourceId": { + "type": "string", + "description": "A unique identifier for the data source.", + "translation": { + "FGDC CSDGM": ["dataqual > lineage > srcinfo > srccitea"] + } }, - "additionalProperties": true, - "properties": { - "sourceId": { - "type": "string", - "description": "A unique identifier for the data source.", - "translation": { - "FGDC CSDGM": [ - "dataqual > lineage > srcinfo > srccitea" - ] - } - }, - "description": { - "type": "string", - "description": "A brief description about the source dataset used in creating the data identified by the data quality scope.", - "translation": { - "ISO 19115-2": [ - "LI_Source > description" - ] - } - }, - "sourceCitation": { - "description": "A citation providing information about the source dataset, including an online resource or other access instructions.", - "translation": { - "ISO 19115-2": [ - "LI_Source > sourceCitation > CI_Citation" - ], - "FGDC CSDGM": [ - "dataqual > lineage > srcinfo > srccite > citeinfo" - ] - }, - "$ref": "citation.json#" - }, - "metadataCitation": { - "type": "array", - "description": "Citation providing information about the metadata for the source.", - "translation": {}, - "items": { - "$ref": "citation.json#" - } - }, - "spatialResolution": { - "$ref": "./spatialResolution.json#", - "description": "The number below the line in a vulgar fraction", - "translation": {} - }, - "referenceSystem": { - "$ref": "./spatialReference.json#", - "description": "Spatial reference system used by the source.", - "translation": {} - }, - "sourceProcessStep": { - "type": "array", - "description": "A description of a non-trivial event or transformation taken to prepare the source data for use in creating the data identified by the data quality scope.", - "translation": { - "ISO 19115-2": [ - "LI_Source > sourceStep > LI_ProcessStep" - ] - }, - "items": { - "$ref": "./processStep.json#" - } - }, - "scope": { - "$ref": "./scope.json#", - "description": "Type of resource and/or extent to which the process information.", - "translation": {} - }, - "processLevel": { - "$ref": "./identifier.json#", - "description": "processing level of the source data" - }, - "resolution": { - "$ref": "./nominalResolution.json#", - "description": "distance between consistent parts (centre, left side, right side) of two adjacent pixel", - } + "description": { + "type": "string", + "description": "A brief description about the source dataset used in creating the data identified by the data quality scope.", + "translation": { + "ISO 19115-2": ["LI_Source > description"] + } + }, + "sourceCitation": { + "description": "A citation providing information about the source dataset, including an online resource or other access instructions.", + "translation": { + "ISO 19115-2": ["LI_Source > sourceCitation > CI_Citation"], + "FGDC CSDGM": ["dataqual > lineage > srcinfo > srccite > citeinfo"] + }, + "$ref": "citation.json#" + }, + "metadataCitation": { + "type": "array", + "description": "Citation providing information about the metadata for the source.", + "translation": {}, + "items": { + "$ref": "citation.json#" + } + }, + "spatialResolution": { + "$ref": "./spatialResolution.json#", + "description": "The number below the line in a vulgar fraction", + "translation": {} + }, + "referenceSystem": { + "$ref": "./spatialReference.json#", + "description": "Spatial reference system used by the source.", + "translation": {} + }, + "sourceProcessStep": { + "type": "array", + "description": "A description of a non-trivial event or transformation taken to prepare the source data for use in creating the data identified by the data quality scope.", + "translation": { + "ISO 19115-2": ["LI_Source > sourceStep > LI_ProcessStep"] + }, + "items": { + "$ref": "./processStep.json#" + } + }, + "scope": { + "$ref": "./scope.json#", + "description": "Type of resource and/or extent to which the process information.", + "translation": {} + }, + "processLevel": { + "$ref": "./identifier.json#", + "description": "processing level of the source data" + }, + "resolution": { + "$ref": "./nominalResolution.json#", + "description": "distance between consistent parts (centre, left side, right side) of two adjacent pixel" } -} \ No newline at end of file + } +} From 6cdc2f78d5827f90d7e9a096d5b38baeb227f0cc Mon Sep 17 00:00:00 2001 From: Johnathan Date: Tue, 17 Dec 2024 13:38:03 -0700 Subject: [PATCH 15/16] Release Version 2.10.0 (#341) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version * Upgrade mdCodes (#292) * Update adiwg-json_schemas.gemspec and package.json versions to 2.9.1 * Update schema.json version to 2.9.1 * Update dataQualityReport.json schema Remove DQ_ from report type names. * Update dataQualityReport.json schema with translation descriptions for quality report types. * Update dataQualityReport.json schema with corrected translation for quality report types. * Upgrade adiwg-mdcodes to v2.9.2 * Add Gemfile.lock Remove Gemfile.lock from .gitignore and add it. Update mdCodes version to be exact. * Update dataQualityReport.json Fixed typo of FGDC --------- Co-authored-by: Hilmar Maier * Fix Data Quality Enums (#325) * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.5 * Update evaluationMethod.json schema with corrected enum values for evaluation method types * chore: Update adiwg-mdcodes to version 2.9.3.pre.beta.3 * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.20 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2-beta.21 * Prepare for Release v2.9.2 (#328) * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * Prepare release version 2.9.5 (#335) * Fix DQ_CompletenessOmission Typo (#284) (#287) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Squashed commit of the following: commit f02a08ce68c3e8990aea1117b5b72b4c1ae9e6f3 Author: Johnathan Date: Tue Feb 13 15:17:33 2024 -0700 Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version commit 5b598a091b1cf312a041c3fef5efeffa96873003 Author: Johnathan Date: Mon Feb 12 11:32:34 2024 -0700 Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdcodes to version 2.9.4-beta.1 and adiwg-mdjson_schemas to version 2.9.3-beta.1 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update versions mdCodes updated to 2.9.4-beta.4 mdJson-schemas updated to 2.9.3-beta.2 * Fix Data Quality Report Types * chore: Increment beta version * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.9.4.pre.beta.5 and 2.9.3.pre.beta.5 respectively * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.10.0 --------- Co-authored-by: hmaier-fws * Add GitHub Actions workflow for automated release creation (#338) * Add GitHub Actions workflow for automated deployment to GitHub Pages * Rename action * Add Node.js setup step to release workflow * Feature: Acquisitions (v2.10.0) (#322) * Add Acquisition and supporting files Add acquisitions to metadata. * Add acq-plan.json example file (#303) * Add instrumentationEventList.json schema and example file (#299) * Add instrumentationEventList.json schema and example file * Add instrumentationEvent.json schema and example file (#298) * Add instrumentationEvent.json schema and example file * add reference to revision class. add enum to eventype * fix eventType in example * Add revision.json schema definition with example (#300) * Add revision.json schema definition with example * Add array type for dateInfo in revision.json * Add reference to date * Add acq-instrument.json schema and example file (#296) * Add acq-instrument.json schema and example file * Update history to instrumentationEventList.json * Add requestedDate.json schema and example (#301) * Add requestedDate.json schema and example * Update description in requestedDate.json schema * Refactor requestedDate schema to use common date definition * Add acq-event.json schema and example file (#302) * Add acq-event.json schema and example file * Add description to class * Update "time" field in acq-event schema to use common date definition * Update README.md (#304) * Add acq-environment.json file and update schema (#306) * Add acq-pass.json schema and example file (#305) * Add acq-pass.json schema and example file * Add required * Change reference to string * Add acq-platform.json schema and example file (#294) * Add acq-platform.json schema and example file * Update id in platform schema * Update platform history schema reference * add hostId to schema * Remove hostId My mistake, I was looking at the wrong class. --------- Co-authored-by: Johnathan Aspinwall * Add acq-operation.json schema and example file (#297) * Add acq-objective.json schema and example file (#295) * Add acq-objective.json schema and example file * Update objectiveType to have enum values * add objectiveType example * change strings to references of classes * feat: Update package.json version to 2.9.2-beta.0 * Acq requirement (#308) * Add acq-requirement class with example * Add descriptions * rename to acq-RequestedDate * Fix acq-requirement example * Add required fields to acq-requirement * Fix examples to include array for clarity. (#309) * Fix examples to include array for clarity. * Fix acq-operation example * fix instrumentationEvent example * fix examples to show correct ouput. update references to other acq items. * Id descriptions update (#320) * rename id's and and refs to remove `acq-` prefix * remove acq- prefix from filenames * Update description to better reflect id's purpose * Update plan.json * Update plan.json * Update requirement.json * Update objective.json * Update platform.json * Update instrument.json * Update pass.json * Update instrumentationEvent.json * Update instrumentationEventList.json * Update operation.json * Update revision.json * Update revision.json * Update event.json * Update instrumentationEvent.json * Update instrumentationEventList.json * fix URI path * chore: Update adiwg-mdjson_schemas to version 2.9.2.beta.2 * chore: Update adiwg-mdcodes to version 2.9.3.pre.beta.3 and mdJson-schemas to 2.9.2-beta.3 * chore: Update adiwg-mdcodes and mdJson-schemas versions * Update objective.json schema to use object type instead of array * chore: Update adiwg-mdjson_schemas to version 2.9.2.beta.4 * Fix identifier typo in platform. Change event to eventType in intrumentationEvent. Add description to instrumentationEventList. * chore: Update adiwg-mdjson_schemas to version 2.9.4-beta.0 * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdjson_schemas to version 2.9.3-beta.0 And update mdCodes to official release of 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdcodes to version 2.9.4-beta.1 and adiwg-mdjson_schemas to version 2.9.3-beta.1 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update versions mdCodes updated to 2.9.4-beta.4 mdJson-schemas updated to 2.9.3-beta.2 * Fix Data Quality Report Types * chore: Increment beta version * chore: Update version to 2.10.0-beta.0 * fix citations within instrumentationEvent and instrumentationEventLis… (#331) * fix citations within instrumentationEvent and instrumentationEventList. remove required parentOperation in operation class. * chore: Update version to 2.10.0-beta.1 --------- Co-authored-by: Johnathan Aspinwall * Sync acquisitions branch (#332) * chore: Update adiwg-mdjson_schemas and related files to version 2.10.0-beta.0 * chore: Update build script to include bundling step * chore: Update adiwg-mdjson_schemas and related files to version 2.10.0-beta.5 * Release Version 2.9.5 (#337) * Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version * Upgrade mdCodes (#292) * Update adiwg-json_schemas.gemspec and package.json versions to 2.9.1 * Update schema.json version to 2.9.1 * Update dataQualityReport.json schema Remove DQ_ from report type names. * Update dataQualityReport.json schema with translation descriptions for quality report types. * Update dataQualityReport.json schema with corrected translation for quality report types. * Upgrade adiwg-mdcodes to v2.9.2 * Add Gemfile.lock Remove Gemfile.lock from .gitignore and add it. Update mdCodes version to be exact. * Update dataQualityReport.json Fixed typo of FGDC --------- Co-authored-by: Hilmar Maier * Fix Data Quality Enums (#325) * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.5 * Update evaluationMethod.json schema with corrected enum values for evaluation method types * chore: Update adiwg-mdcodes to version 2.9.3.pre.beta.3 * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.20 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2-beta.21 * Prepare for Release v2.9.2 (#328) * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * Prepare release version 2.9.5 (#335) * Fix DQ_CompletenessOmission Typo (#284) (#287) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Squashed commit of the following: commit f02a08ce68c3e8990aea1117b5b72b4c1ae9e6f3 Author: Johnathan Date: Tue Feb 13 15:17:33 2024 -0700 Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version commit 5b598a091b1cf312a041c3fef5efeffa96873003 Author: Johnathan Date: Mon Feb 12 11:32:34 2024 -0700 Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdcodes to version 2.9.4-beta.1 and adiwg-mdjson_schemas to version 2.9.3-beta.1 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update versions mdCodes updated to 2.9.4-beta.4 mdJson-schemas updated to 2.9.3-beta.2 * Fix Data Quality Report Types * chore: Increment beta version * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.9.4.pre.beta.5 and 2.9.3.pre.beta.5 respectively * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.10.0 --------- Co-authored-by: hmaier-fws * Add GitHub Actions workflow for automated release creation (#338) * Add GitHub Actions workflow for automated deployment to GitHub Pages * Rename action * Add Node.js setup step to release workflow --------- Co-authored-by: Hilmar Maier --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Co-authored-by: Jonathan Oliveros Co-authored-by: Hilmar Maier * Remove translation section from dataQualityReport schema (#343) --------- Co-authored-by: Hilmar Maier Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Co-authored-by: Jonathan Oliveros --- Gemfile.lock | 2 +- README.md | 4 +- examples/environment.json | 10 +++ examples/event.json | 13 ++++ examples/instrument.json | 12 +++ examples/instrumentationEvent.json | 9 +++ examples/instrumentationEventList.json | 9 +++ examples/objective.json | 13 ++++ examples/operation.json | 16 ++++ examples/pass.json | 8 ++ examples/plan.json | 10 +++ examples/platform.json | 11 +++ examples/requestedDate.json | 4 + examples/requirement.json | 14 ++++ examples/revision.json | 5 ++ lib/adiwg/mdjson_schemas/version.rb | 2 +- package-lock.json | 4 +- package.json | 2 +- schema/acquisition.json | 70 +++++++++++++++++ schema/environment.json | 34 +++++++++ schema/event.json | 56 ++++++++++++++ schema/instrument.json | 46 ++++++++++++ schema/instrumentationEvent.json | 52 +++++++++++++ schema/instrumentationEventList.json | 37 +++++++++ schema/metadata.json | 19 ++++- schema/objective.json | 69 +++++++++++++++++ schema/operation.json | 100 +++++++++++++++++++++++++ schema/pass.json | 30 ++++++++ schema/plan.json | 65 ++++++++++++++++ schema/platform.json | 48 ++++++++++++ schema/requestedDate.json | 20 +++++ schema/requirement.json | 57 ++++++++++++++ schema/revision.json | 27 +++++++ schema/schema.json | 2 +- 34 files changed, 869 insertions(+), 11 deletions(-) create mode 100644 examples/environment.json create mode 100644 examples/event.json create mode 100644 examples/instrument.json create mode 100644 examples/instrumentationEvent.json create mode 100644 examples/instrumentationEventList.json create mode 100644 examples/objective.json create mode 100644 examples/operation.json create mode 100644 examples/pass.json create mode 100644 examples/plan.json create mode 100644 examples/platform.json create mode 100644 examples/requestedDate.json create mode 100644 examples/requirement.json create mode 100644 examples/revision.json create mode 100644 schema/acquisition.json create mode 100644 schema/environment.json create mode 100644 schema/event.json create mode 100644 schema/instrument.json create mode 100644 schema/instrumentationEvent.json create mode 100644 schema/instrumentationEventList.json create mode 100644 schema/objective.json create mode 100644 schema/operation.json create mode 100644 schema/pass.json create mode 100644 schema/plan.json create mode 100644 schema/platform.json create mode 100644 schema/requestedDate.json create mode 100644 schema/requirement.json create mode 100644 schema/revision.json diff --git a/Gemfile.lock b/Gemfile.lock index 2e2297d..4caf2f8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - adiwg-mdjson_schemas (2.9.5) + adiwg-mdjson_schemas (2.10.0) GEM remote: https://rubygems.org/ diff --git a/README.md b/README.md index 3129df8..790426e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Use with [ruby-json-schema/json-schema](https://github.com/ruby-json-schema/json Add this line to your application's Gemfile: - gem 'adiwg-json_schemas' + gem 'adiwg-mdjson_schemas' And then execute: @@ -23,7 +23,7 @@ And then execute: Or install it yourself as: - $ gem install adiwg-json_schemas + $ gem install adiwg-mdjson_schemas ## npm diff --git a/examples/environment.json b/examples/environment.json new file mode 100644 index 0000000..61db76b --- /dev/null +++ b/examples/environment.json @@ -0,0 +1,10 @@ +[ + { + "averageAirTemperature": 9.9, + "maxRelativeHumidity": 9.9, + "maxAltitude": 9.9, + "meteorologicalConditions": "meteorological conditions", + "solarAzimuth": 9.9, + "solarElevation": 9.9 + } +] \ No newline at end of file diff --git a/examples/event.json b/examples/event.json new file mode 100644 index 0000000..457b07a --- /dev/null +++ b/examples/event.json @@ -0,0 +1,13 @@ +[ + { + "eventId": "event ID", + "identifier": { }, + "trigger": "manual", + "context": "pass", + "sequence": "start", + "time": "2019-06-10T16:07:00", + "expectedObjective": ["objectiveId"], + "relatedPass": "passId", + "relatedSensor": ["instrumentId"] + } +] \ No newline at end of file diff --git a/examples/instrument.json b/examples/instrument.json new file mode 100644 index 0000000..099a6bd --- /dev/null +++ b/examples/instrument.json @@ -0,0 +1,12 @@ +[ + { + "instrumentId": "instrument ID", + "citation": [], + "identifier": {}, + "instrumentType": "instrument type", + "description": "instrument description", + "mountedOn": "platformId", + "history": [ ], + "hostId": "host instrument ID" + } +] diff --git a/examples/instrumentationEvent.json b/examples/instrumentationEvent.json new file mode 100644 index 0000000..d810623 --- /dev/null +++ b/examples/instrumentationEvent.json @@ -0,0 +1,9 @@ +[ + { + "citation": [ ], + "description": "description here", + "extent": [ ], + "eventType": "dataLoss", + "revisionHistory": [ ] + } +] \ No newline at end of file diff --git a/examples/instrumentationEventList.json b/examples/instrumentationEventList.json new file mode 100644 index 0000000..de40192 --- /dev/null +++ b/examples/instrumentationEventList.json @@ -0,0 +1,9 @@ +[ + { + "citation": [ ], + "description": "description here", + "locale": { }, + "constraints": [ ], + "instrumentationEvent": [ ] + } +] \ No newline at end of file diff --git a/examples/objective.json b/examples/objective.json new file mode 100644 index 0000000..a7604cb --- /dev/null +++ b/examples/objective.json @@ -0,0 +1,13 @@ +[ + { + "objectiveId": "objective ID", + "identifier": [ ], + "priority": "objective priority", + "objectiveType": ["instantaneousCollection"], + "function": [], + "extent": [ ], + "objectiveOccurrence": [ ], + "pass": [ ], + "sensingInstrument": [ ] + } +] \ No newline at end of file diff --git a/examples/operation.json b/examples/operation.json new file mode 100644 index 0000000..85a0761 --- /dev/null +++ b/examples/operation.json @@ -0,0 +1,16 @@ +[ + { + "operationId": "operation ID", + "description": "operation description", + "citation": { }, + "identifier": { }, + "status": "pending", + "operationType": "real", + "objective": [ ], + "parentOperation": { }, + "childOperation": [ ], + "plan": { }, + "platform": [ ], + "significantEvent": [ ] + } +] diff --git a/examples/pass.json b/examples/pass.json new file mode 100644 index 0000000..7bf5e40 --- /dev/null +++ b/examples/pass.json @@ -0,0 +1,8 @@ +[ + { + "passId": "pass ID", + "identifier": { }, + "extent": { }, + "relatedEvent": [ ] + } +] \ No newline at end of file diff --git a/examples/plan.json b/examples/plan.json new file mode 100644 index 0000000..b00883c --- /dev/null +++ b/examples/plan.json @@ -0,0 +1,10 @@ +[ + { + "planId": "plan ID", + "planType": "linear", + "status": "accepted", + "citation": { }, + "planOperation": [ ], + "satisfiedRequirement": [ ] + } +] \ No newline at end of file diff --git a/examples/platform.json b/examples/platform.json new file mode 100644 index 0000000..c0cb58c --- /dev/null +++ b/examples/platform.json @@ -0,0 +1,11 @@ +[ + { + "platformId": "platform ID", + "citation": { }, + "identifier": { }, + "description": "platform description", + "sponsor": [ ], + "instrument": [ ], + "history": [ ] + } +] diff --git a/examples/requestedDate.json b/examples/requestedDate.json new file mode 100644 index 0000000..2d1ce9b --- /dev/null +++ b/examples/requestedDate.json @@ -0,0 +1,4 @@ +{ + "requestedDateOfCollection": "2019-06-10T16:01:00", + "latestAcceptableDate": "2019-06-13:T16:02:00" +} \ No newline at end of file diff --git a/examples/requirement.json b/examples/requirement.json new file mode 100644 index 0000000..c442297 --- /dev/null +++ b/examples/requirement.json @@ -0,0 +1,14 @@ +[ + { + "requirementId": "requirement ID", + "citation": { }, + "identifier": { }, + "requestor": [ ], + "recipient": [ ], + "priority": "critical", + "requestedDate": { }, + "expiryDate": "2019-06-10T15:50:00", + "satisfiedPlan": [ ] + } +] + diff --git a/examples/revision.json b/examples/revision.json new file mode 100644 index 0000000..65fcb76 --- /dev/null +++ b/examples/revision.json @@ -0,0 +1,5 @@ +{ + "description": "description", + "responsibleParty": [ ], + "dateInfo": [ ] +} \ No newline at end of file diff --git a/lib/adiwg/mdjson_schemas/version.rb b/lib/adiwg/mdjson_schemas/version.rb index 595d0e8..5466420 100644 --- a/lib/adiwg/mdjson_schemas/version.rb +++ b/lib/adiwg/mdjson_schemas/version.rb @@ -1,6 +1,6 @@ module ADIWG module MdjsonSchemas # Current schema version number - VERSION = "2.9.5" + VERSION = "2.10.0" end end diff --git a/package-lock.json b/package-lock.json index 31e3f84..4fe1df6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mdjson-schemas", - "version": "2.9.5", + "version": "2.10.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mdjson-schemas", - "version": "2.9.5", + "version": "2.10.0", "license": "GPL-3.0", "devDependencies": { "ajv": "^6.5.0", diff --git a/package.json b/package.json index 40b7df4..296403e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mdjson-schemas", - "version": "2.9.5", + "version": "2.10.0", "description": "JSON schemas, examples, and templates for ADIwg metadata standards", "main": "index.js", "directories": { diff --git a/schema/acquisition.json b/schema/acquisition.json new file mode 100644 index 0000000..d2d9353 --- /dev/null +++ b/schema/acquisition.json @@ -0,0 +1,70 @@ +{ + "id": "acquisition.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Designations for the measuring instruments, the platform carrying them, and the mission to which the data contributes.", + "type": "object", + "example": "../examples/acquisition.json", + "translation": { + "ISO 19115-2": [ + "MD_Metadata > acquisitionInformation > MI_AcquisitionInformation" + ], + "FGDC CSDGM": ["idinfo > accconst"] + }, + "additionalProperties": false, + "properties": { + "scope": { + "$ref": "./scope.json#" + }, + "plan": { + "type": "array", + "items": { + "$ref": "./plan.json#" + } + }, + "requirement": { + "type": "array", + "items": { + "$ref": "./requirement.json#" + } + }, + "objective": { + "type": "array", + "items": { + "$ref": "./objective.json#" + } + }, + "platform": { + "type": "array", + "items": { + "$ref": "./platform.json#" + } + }, + "instrument": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + } + }, + "operation": { + "type": "array", + "items": { + "$ref": "./operation.json#" + } + }, + "event": { + "type": "array", + "items": { + "$ref": "./event.json#" + } + }, + "pass": { + "type": "array", + "items": { + "$ref": "./pass.json#" + } + }, + "environment": { + "$ref": "./environment.json#" + } + } +} diff --git a/schema/environment.json b/schema/environment.json new file mode 100644 index 0000000..4bfa89e --- /dev/null +++ b/schema/environment.json @@ -0,0 +1,34 @@ +{ + "id": "environment.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "information about the environmental conditions during the acquisition", + "type": "object", + "example": "../examples/environment.json", + "additionalProperties": false, + "properties": { + "averageAirTemperature": { + "type": "number", + "description": "average air temperature along the flight pass during the photo flight" + }, + "maxRelativeHumidity": { + "type": "number", + "description": "maximum relative humidity along the flight pass during the photo flight" + }, + "maxAltitude": { + "type": "number", + "description": "maximum altitude during the photo flight" + }, + "meteorologicalConditions": { + "type": "string", + "description": "meteorological conditions in the photo flight area, in particular clouds, snow and wind" + }, + "solarAzimuth": { + "type": "number", + "description": "clockwise angle in degrees from north to the centre of the sun’s disc. Note: This angle is calculated from the nadir point of the sensor, not at the centre point of the image" + }, + "solarElevation": { + "type": "number", + "description": "angle between the horizon and the centre of the Sun’s disk" + } + } +} diff --git a/schema/event.json b/schema/event.json new file mode 100644 index 0000000..b5f72f1 --- /dev/null +++ b/schema/event.json @@ -0,0 +1,56 @@ +{ + "id": "event.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "designations for the planning information related to meeting the data acquisition requirements", + "type": "object", + "example": "../examples/event.json", + "additionalProperties": false, + "required": ["eventId", "identifier", "trigger", "context", "sequence", "time"], + "properties": { + "eventId": { + "type": "string", + "description": "a unique mdJSON system identifier for the event" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "event name or number" + }, + "trigger": { + "type": "string", + "description": "initiator of the event", + "enum": ["automatic", "manual", "preProgrammed"] + }, + "context": { + "type": "string", + "description": "meaning of the event", + "enum": ["acquisition", "pass", "wayPoint"] + }, + "sequence": { + "type": "string", + "description": "relative time ordering of the event", + "enum": ["start", "end", "instantaneous"] + }, + "time": { + "$ref": "./common.json#/definitions/date", + "description": "time the event occurred" + }, + "expectedObjective": { + "type": "array", + "items": { + "$ref": "./objective.json#" + }, + "description": "objective or objectives satisfied by an event" + }, + "relatedPass": { + "$ref": "./pass.json#", + "description": "pass during which an event occurs" + }, + "relatedSensor": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + }, + "description": "instrument or instruments for which the event is meaningful" + } + } +} diff --git a/schema/instrument.json b/schema/instrument.json new file mode 100644 index 0000000..b007302 --- /dev/null +++ b/schema/instrument.json @@ -0,0 +1,46 @@ +{ + "id": "instrument.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "", + "type": "object", + "example": "../examples/instrument.json", + "additionalProperties": false, + "required": ["instrumentId","identifier","instrumentType"], + "properties": { + "instrumentId": { + "type": "string", + "description": "a unique mdJSON system identifier for the instrument" + }, + "citation": { + "$ref": "./citation.json#", + "description": "complete citation of the instrument" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique identification of the instrument" + }, + "instrumentType": { + "type": "string", + "description": "name of the type of instrument. Examples: framing, linescan, push-broom, panframe" + }, + "description": { + "type": "string", + "description": "textual description of the instrument" + }, + "mountedOn": { + "$ref": "./platform.json#", + "description": "platform on which the instrument is mounted" + }, + "history": { + "type": "array", + "items": { + "$ref": "./instrumentationEventList.json#" + }, + "description": "list of events associated with the instrument" + }, + "hostId": { + "$ref": "./identifier.json#", + "description": "identifier of the hosting instrument for a sensor" + } + } +} diff --git a/schema/instrumentationEvent.json b/schema/instrumentationEvent.json new file mode 100644 index 0000000..c9a3ef3 --- /dev/null +++ b/schema/instrumentationEvent.json @@ -0,0 +1,52 @@ +{ + "id": "instrumentationEvent.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "an event related to a platform, instrument, sensor", + "type": "object", + "example": "../examples/instrumentationEvent.json", + "additionalProperties": false, + "required": ["description","eventType"], + "properties": { + "citation": { + "type": "array", + "items": { + "$ref": "./citation.json#" + }, + "description": "citation to the instrumentationEvent" + }, + "description": { + "type": "string", + "description": "description of the instrumentationEvent" + }, + "extent": { + "$ref": "./extent.json#", + "description": "extent of the instrumentationEvent" + }, + "eventType": { + "type": "string", + "description": "type of the instrumentationEvent", + "enum": [ + "announcement", + "calibration", + "calibrationCoefficientUpdate", + "dataLoss", + "fatal", + "manoeuvre", + "missingData", + "notice", + "prelaunch", + "severe", + "switchOff", + "switchOn", + "clean" + ] + }, + "revisionHistory": { + "type": "array", + "items": { + "$ref": "./revision.json#" + }, + "description": "history of revisions to the instrumentationEvent" + } + } + } diff --git a/schema/instrumentationEventList.json b/schema/instrumentationEventList.json new file mode 100644 index 0000000..181d278 --- /dev/null +++ b/schema/instrumentationEventList.json @@ -0,0 +1,37 @@ +{ + "id": "instrumentationEventList.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "list of events related to platform, instrument, sensor", + "type": "object", + "example": "../examples/instrumentationEventList.json", + "additionalProperties": false, + "required": ["description"], + "properties": { + "citation": { + "$ref": "./citation.json#", + "description": "citation to the instrumentationEventList" + }, + "description": { + "type": "string", + "description": "description of the language and character-set used for the instrumentationEventList" + }, + "locale": { + "$ref": "./locale.json#", + "description": "description of the language and character-set used for the instrumentationEventList" + }, + "constraints": { + "type": "array", + "items": { + "$ref": "./constraint.json#" + }, + "description": "use and access constraints" + }, + "instrumentationEvent": { + "type": "array", + "items": { + "$ref": "./instrumentationEvent.json#" + }, + "description": "event(s) in the list of events" + } + } +} diff --git a/schema/metadata.json b/schema/metadata.json index 35c9fb1..42e446f 100644 --- a/schema/metadata.json +++ b/schema/metadata.json @@ -16,7 +16,9 @@ }, "resourceInfo": { "translation": { - "ISO 19115-2": ["MD_Metadata > identificationInfo > MD_DataIdentification"], + "ISO 19115-2": [ + "MD_Metadata > identificationInfo > MD_DataIdentification" + ], "FGDC CSDGM": ["idinfo"] }, "$ref": "resourceInfo.json#" @@ -52,7 +54,9 @@ "type": "array", "description": "Other resources which are directly related to the subject resource such as parent, child, or sibling datasets or projects.", "translation": { - "ISO 19115-2": ["MD_DataIdentification > aggregationInfo > MD_AggregateInformation"], + "ISO 19115-2": [ + "MD_DataIdentification > aggregationInfo > MD_AggregateInformation" + ], "FGDC CSDGM": ["idinfo > crossref"] }, "items": { @@ -63,7 +67,9 @@ "type": "array", "description": "Other documents related to, but not defining, the resource such as factsheets, data catalog pages, award documents, proposals, and informational websites.", "translation": { - "ISO 19115-2": ["MD_DataIdentification > aggregationInfo > MD_AggregateInformation > aggregateDataSetName > CI_Citation"], + "ISO 19115-2": [ + "MD_DataIdentification > aggregationInfo > MD_AggregateInformation > aggregateDataSetName > CI_Citation" + ], "FGDC CSDGM": ["idinfo > crossref "] }, "items": { @@ -76,6 +82,13 @@ "items": { "$ref": "./funding.json#" } + }, + "acquisition": { + "type": "array", + "description": "Information about the acquisition of the resource.", + "items": { + "$ref": "./acquisition.json#" + } } } } diff --git a/schema/objective.json b/schema/objective.json new file mode 100644 index 0000000..bce84a1 --- /dev/null +++ b/schema/objective.json @@ -0,0 +1,69 @@ +{ + "id": "objective.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "describes the characteristics, spatial and temporal extent of the intended object to be observed", + "type": "object", + "example": "../examples/objective.json", + "additionalProperties": false, + "required": ["objectiveId", "identifier"], + "properties": { + "objectiveId": { + "type": "string", + "description": "a unique mdJSON system identifier for the objective" + }, + "identifier": { + "type": "array", + "description": "code used to identify the objective", + "items": { + "$ref": "./identifier.json#" + } + }, + "priority": { + "type": "string", + "description": "priority applied to the target" + }, + "objectiveType": { + "type": "array", + "items": { + "type": "string", + "enum": ["instantaneousCollection", "persistentView", "survey"] + }, + "description": "collection techniques for the objective" + }, + "function": { + "type": "array", + "items": { + "type": "string" + }, + "description": "role or purpose performed by or activity performed at the objective" + }, + "extent": { + "type": "array", + "items": { + "$ref": "./extent.json#" + }, + "description": "extent information including the bounding box, bounding polygon, vertical and temporal extent of the objective" + }, + "objectiveOccurrence": { + "type": "array", + "items": { + "$ref": "./event.json#" + }, + "description": "event or events associated with objective completion" + }, + "pass": { + "type": "array", + "items": { + "$ref": "./pass.json#" + }, + "description": "pass of the platform over the objective" + }, + "sensingInstrument": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + }, + "description": "instrument which senses the objective data" + } + } +} diff --git a/schema/operation.json b/schema/operation.json new file mode 100644 index 0000000..681e7f8 --- /dev/null +++ b/schema/operation.json @@ -0,0 +1,100 @@ +{ + "id": "operation.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "", + "type": "object", + "example": "../examples/operation.json", + "additionalProperties": false, + "required": [ + "operationId", + "identifier", + "status" + ], + "properties": { + "operationId": { + "type": "string", + "description": "a unique mdJSON system identifier for the operation" + }, + "description": { + "type": "string", + "description": "description of the mission on which the platform observations are made and the objectives of that mission" + }, + "citation": { + "$ref": "./citation.json#", + "description": "identification of the mission" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique identification of the operation" + }, + "status": { + "type": "string", + "description": "status of the data acquisition", + "enum": [ + "accepted", + "completed", + "deprecated", + "final", + "historicalArchive", + "notAccepted", + "obsolete", + "onGoing", + "pending", + "planned", + "proposed", + "required", + "retired", + "superseded", + "tentative", + "underDevelopment", + "valid", + "withdrawn" + ] + }, + "operationType": { + "type": "string", + "description": "collection technique for the operation", + "enum": [ + "real", + "simulated", + "synthetic" + ] + }, + "objective": { + "type": "array", + "items": { + "$ref": "./objective.json#" + }, + "description": "object(s) or area(s) of interest to be sensed" + }, + "parentOperation": { + "$ref": "./operation.json#", + "description": "heritage of the operation" + }, + "childOperation": { + "type": "array", + "items": { + "$ref": "./operation.json#" + }, + "description": "sub-missions that make up part of a larger mission" + }, + "plan": { + "ref": "./plan.json#", + "description": "plan satisfied by the operation" + }, + "platform": { + "type": "array", + "items": { + "$ref": "./platform.json#" + }, + "description": "platform (or platforms) used in the operation" + }, + "significantEvent": { + "type": "array", + "items": { + "$ref": "./event.json#" + }, + "description": "record of an event occurring during an operation" + } + } +} diff --git a/schema/pass.json b/schema/pass.json new file mode 100644 index 0000000..f4d297f --- /dev/null +++ b/schema/pass.json @@ -0,0 +1,30 @@ +{ + "id": "pass.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "identification of collection coverage", + "type": "object", + "example": "../examples/pass.json", + "additionalProperties": false, + "required": ["passId","identifier"], + "properties": { + "passId": { + "type": "string", + "description": "unique identifier for the pass" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "a unique mdJSON system identifier for the pass" + }, + "extent": { + "$ref": "./extent.json#", + "description": "area covered by the pass" + }, + "relatedEvent": { + "type": "array", + "items": { + "$ref": "./event.json#" + }, + "description": "occurrence of one or more events for a pass" + } + } +} diff --git a/schema/plan.json b/schema/plan.json new file mode 100644 index 0000000..e166c31 --- /dev/null +++ b/schema/plan.json @@ -0,0 +1,65 @@ +{ + "id": "plan.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Designations for the planning information related to meeting the data acquisition requirements.", + "type": "object", + "example": "../examples/plan.json", + "additionalProperties": false, + "required": ["planId", "status", "citation"], + "properties": { + "planId": { + "type": "string", + "description": "a unique mdJSON system identifier for the plan" + }, + "planType": { + "type": "string", + "description": "Manner of sampling geometry that the planner expects for collection of objective data", + "enum": ["point", "linear", "areal", "strip"] + }, + "status": { + "type": "string", + "description": "Current status of the plan (pending, completed, etc.)", + "enum": [ + "accepted", + "cancelled", + "completed", + "deprecated", + "final", + "funded", + "historicalArchive", + "notAccepted", + "obsolete", + "onGoing", + "pending", + "planned", + "proposed", + "required", + "retired", + "superseded", + "suspended", + "tentative", + "underDevelopment", + "valid", + "withdrawn" + ] + }, + "citation": { + "description": "Identification of authority requesting target collection", + "$ref": "./citation.json#" + }, + "planOperation": { + "type": "array", + "description": "Identification of the activity or activities that satisfy a plan", + "items": { + "$ref": "./operation.json#" + } + }, + "satisfiedRequirement": { + "type": "array", + "description": "Requirement satisfied by the plan", + "items": { + "$ref": "./requirement.json#" + } + } + } +} diff --git a/schema/platform.json b/schema/platform.json new file mode 100644 index 0000000..001948f --- /dev/null +++ b/schema/platform.json @@ -0,0 +1,48 @@ +{ + "id": "platform.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "designation of the platform used to acquire the dataset", + "type": "object", + "example": "../examples/platform.json", + "additionalProperties": false, + "required": ["platformId", "identifier", "description", "instrument"], + "properties": { + "platformId": { + "type": "string", + "description": "a unique mdJSON system identifier for the platform" + }, + "citation": { + "$ref": "./citation.json#", + "description": "source where information about the platform is described" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique identification of the platform" + }, + "description": { + "type": "string", + "description": "narrative description of the platform supporting the instrument" + }, + "sponsor": { + "type": "array", + "items": { + "$ref": "./responsibility.json#" + }, + "description": "organization responsible for building, launch, or operation of the platform" + }, + "instrument": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + }, + "description": "instrument(s) mounted on a platform" + }, + "history": { + "type": "array", + "items": { + "$ref": "./instrumentationEventList.json#" + }, + "description": "list of events affecting a platform" + } + } +} diff --git a/schema/requestedDate.json b/schema/requestedDate.json new file mode 100644 index 0000000..f386fd9 --- /dev/null +++ b/schema/requestedDate.json @@ -0,0 +1,20 @@ +{ + "id": "requestedDate.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "range of date validity", + "type": "object", + "example": "../examples/requestedDate.json", + "additionalProperties": false, + "required": ["requestedDateOfCollection","latestAcceptableDate"], + "properties": { + "requestedDateOfCollection": { + "$ref": "./common.json#/definitions/date", + "description": "preferred date and time of collection" + }, + "latestAcceptableDate": { + "$ref": "./common.json#/definitions/date", + "description": "latest date and time collection must be completed" + } + } +} + \ No newline at end of file diff --git a/schema/requirement.json b/schema/requirement.json new file mode 100644 index 0000000..321d3d8 --- /dev/null +++ b/schema/requirement.json @@ -0,0 +1,57 @@ +{ + "id": "requirement.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "requirement to be satisfied by the planned data acquisition", + "type": "object", + "required": ["requirementId","identifier","requestor","recipient","priority","requestedDate","expiryDate"], + "example": "../examples/requirement.json", + "additionalProperties": false, + "properties": { + "requirementId": { + "type": "string", + "description": "a unique mdJSON system identifier for the requirement" + }, + "citation": { + "$ref": "./citation.json#", + "description": "identification of reference or guidance material for the requirement" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique name, or code, for the requirement" + }, + "requestor": { + "type": "array", + "items": { + "$ref": "./responsibility.json#" + }, + "description": "origin of requirement" + }, + "recipient": { + "type": "array", + "items": { + "$ref": "./responsibility.json#" + }, + "description": "person(s), or body(ies), to receive results of requirement" + }, + "priority": { + "type": "string", + "enum": ["critical","highImportance","mediumImportance","lowImportance"], + "description": "relative ordered importance, or urgency, of the requirement" + }, + "requestedDate": { + "$ref": "./requestedDate.json#", + "description": "required or preferred acquisition date and time" + }, + "expiryDate": { + "$ref": "./common.json#/definitions/date", + "description": "date and time after which collection is no longer valid" + }, + "satisfiedPlan": { + "type": "array", + "items": { + "$ref": "./plan.json#" + }, + "description": "plan that identifies solution to satisfy the requirement" + } + } +} diff --git a/schema/revision.json b/schema/revision.json new file mode 100644 index 0000000..2fb9521 --- /dev/null +++ b/schema/revision.json @@ -0,0 +1,27 @@ +{ + "id": "revision.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "history of the revision of an event", + "type": "object", + "example": "../examples/revision.json", + "additionalProperties": false, + "required": ["description", "responsibleParty", "dateInfo"], + "properties": { + "description": { + "type": "string", + "description": "description of the revision." + }, + "responsibleParty": { + "$ref": "./responsibility.json#", + "description": "individual or organization responsible for the revision" + }, + "dateInfo": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/date" + }, + "description": "information about dates related to the revision" + } + } + } + diff --git a/schema/schema.json b/schema/schema.json index 61b96a5..5f81a0f 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -1,7 +1,7 @@ { "id": "schema.json#", "$schema": "http://json-schema.org/draft-04/schema#", - "version": "2.9.5", + "version": "2.10.0", "description": "schema for ADIwg mdJSON metadata", "example": "../examples/mdJson.json", "type": "object", From 36edf5690a8a37b02f24dd7fabce0f99966f5457 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 19 Dec 2024 13:47:38 -0700 Subject: [PATCH 16/16] Bump version to 2.11.0 in Gemfile.lock, version.rb, package.json, and schema.json --- Gemfile.lock | 2 +- lib/adiwg/mdjson_schemas/version.rb | 2 +- package-lock.json | 4 ++-- package.json | 2 +- schema/schema.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4caf2f8..a7ecd12 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - adiwg-mdjson_schemas (2.10.0) + adiwg-mdjson_schemas (2.11.0) GEM remote: https://rubygems.org/ diff --git a/lib/adiwg/mdjson_schemas/version.rb b/lib/adiwg/mdjson_schemas/version.rb index 5466420..11e1efa 100644 --- a/lib/adiwg/mdjson_schemas/version.rb +++ b/lib/adiwg/mdjson_schemas/version.rb @@ -1,6 +1,6 @@ module ADIWG module MdjsonSchemas # Current schema version number - VERSION = "2.10.0" + VERSION = "2.11.0" end end diff --git a/package-lock.json b/package-lock.json index 4fe1df6..d4d4a37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mdjson-schemas", - "version": "2.10.0", + "version": "2.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mdjson-schemas", - "version": "2.10.0", + "version": "2.11.0", "license": "GPL-3.0", "devDependencies": { "ajv": "^6.5.0", diff --git a/package.json b/package.json index 296403e..6ddfdbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mdjson-schemas", - "version": "2.10.0", + "version": "2.11.0", "description": "JSON schemas, examples, and templates for ADIwg metadata standards", "main": "index.js", "directories": { diff --git a/schema/schema.json b/schema/schema.json index 5f81a0f..5c652b5 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -1,7 +1,7 @@ { "id": "schema.json#", "$schema": "http://json-schema.org/draft-04/schema#", - "version": "2.10.0", + "version": "2.11.0", "description": "schema for ADIwg mdJSON metadata", "example": "../examples/mdJson.json", "type": "object",