Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: resource lineage #324

Draft
wants to merge 14 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions examples/algorithm.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"citation": { },
"description": "algorithm description"
}
7 changes: 7 additions & 0 deletions examples/nominalResolution.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"groundResolution": {
"type": "distance",
"value": 999.9,
"unitOfMeasure": "units"
}
}
11 changes: 11 additions & 0 deletions examples/processParameter.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[
{
"name": "parameter name",
"direction": "in",
"description": "description",
"optionality": true,
"repeatability": false,
"valuetype": "value",
"value": [ ]
}
]
4 changes: 3 additions & 1 deletion examples/processStep.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,5 +96,7 @@
{
"title": "title"
}
]
],
"processingInformation": { },
"report": [ ]
}]
7 changes: 7 additions & 0 deletions examples/processStepReport.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[
{
"name": "process step report name",
"description": "process step report description",
"fileType": "process step report file type"
}
]
2 changes: 1 addition & 1 deletion lib/adiwg/mdjson_schemas/version.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module ADIWG
module MdjsonSchemas
# Current schema version number
VERSION = "2.9.1"
VERSION = "2.9.3-beta.0"
end
end
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "mdjson-schemas",
"version": "2.9.1",
"version": "2.9.3-beta.0",
"description": "JSON schemas, examples, and templates for ADIwg metadata standards",
"main": "index.js",
"directories": {
Expand Down
19 changes: 19 additions & 0 deletions schema/algorithm.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
}
172 changes: 2 additions & 170 deletions schema/lineage.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
"ISO 19115-2": ["LI_Lineage > processStep > LI_ProcessStep"]
},
"items": {
"$ref": "#/definitions/processStep"
"$ref": "./processStep.json#"
}
},
"source": {
Expand All @@ -63,175 +63,7 @@
"FGDC CSDGM": ["dataqual > lineage > srcinfo"]
},
"items": {
"$ref": "#/definitions/source"
}
}
},
"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.",
"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": {}
}
"$ref": "./source.json#"
}
}
}
Expand Down
32 changes: 32 additions & 0 deletions schema/nominalResolution.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
}
50 changes: 50 additions & 0 deletions schema/processParameter.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
}
Loading