diff --git a/Specification/BrAPI-Schema/BrAPI-Common/AdditionalInfo.json b/Specification/BrAPI-Schema/BrAPI-Common/AdditionalInfo.json
index ba5e5430..b4bab73e 100644
--- a/Specification/BrAPI-Schema/BrAPI-Common/AdditionalInfo.json
+++ b/Specification/BrAPI-Schema/BrAPI-Common/AdditionalInfo.json
@@ -2,11 +2,18 @@
"$defs": {
"AdditionalInfo": {
"additionalProperties": {
- "type": "string"
+ "description": "A free space containing any additional information related to a particular object.",
+ "type": [
+ "null",
+ "string"
+ ]
},
"description": "A free space containing any additional information related to a particular object. A data source may provide any JSON object, unrestricted by the BrAPI specification.",
"title": "AdditionalInfo",
- "type": "object"
+ "type": [
+ "null",
+ "object"
+ ]
}
},
"$id": "https://brapi.org/Specification/BrAPI-Schema/Components/Common/AdditionalInfo.json",
diff --git a/Specification/BrAPI-Schema/BrAPI-Core/DataLink.json b/Specification/BrAPI-Schema/BrAPI-Core/DataLink.json
index 1eb35933..f1cc349e 100644
--- a/Specification/BrAPI-Schema/BrAPI-Core/DataLink.json
+++ b/Specification/BrAPI-Schema/BrAPI-Core/DataLink.json
@@ -1,6 +1,7 @@
{
"$defs": {
"DataLink": {
+ "description": "A link to a data file associated with a study. Extra data could include notes, images, and reference data. Based on the MIAPPE V1.1 (DM-38) Data file description.",
"properties": {
"dataFormat": {
"description": "The structure of the data within a file. For example - VCF, table, image archive, multispectral image archives in EDAM ontology (used in Galaxy)\n\nMIAPPE V1.1 (DM-38) Data file description - Description of the format of the data file. May be a standard file format name, or a description of organization of the data in a tabular file.",
diff --git a/Specification/BrAPI-Schema/BrAPI-Core/List.json b/Specification/BrAPI-Schema/BrAPI-Core/List.json
index d632864c..7c58ab0f 100644
--- a/Specification/BrAPI-Schema/BrAPI-Core/List.json
+++ b/Specification/BrAPI-Schema/BrAPI-Core/List.json
@@ -103,7 +103,10 @@
"type": "object",
"description": "A List represents a collection of other BrAPI data objects. Typically these are custom lists generated by a user to keep track of interesting data. For example, a user might build a List of Germplasm that they have manually marked for further study.",
"brapi-metadata": {
- "primaryModel": true
+ "primaryModel": true,
+ "subQuery": [
+ "data"
+ ]
}
}
},
diff --git a/Specification/BrAPI-Schema/BrAPI-Core/Study.json b/Specification/BrAPI-Schema/BrAPI-Core/Study.json
index baf68ff8..044360c9 100644
--- a/Specification/BrAPI-Schema/BrAPI-Core/Study.json
+++ b/Specification/BrAPI-Schema/BrAPI-Core/Study.json
@@ -68,10 +68,8 @@
"environmentParameters": {
"description": "Environmental parameters that were kept constant throughout the study and did not change between observation units.\n\nMIAPPE V1.1 (DM-57) Environment - Environmental parameters that were kept constant throughout the study and did not change between observation units or assays. Environment characteristics that vary over time, i.e. environmental variables, should be recorded as Observed Variables (see below).",
"relationshipType": "one-to-many",
- "referencedAttribute": "study",
"items": {
- "$ref": "../BrAPI-Core/Study.json#/$defs/EnvironmentParameters",
- "description": "EnvironmentParameters"
+ "$ref": "../BrAPI-Core/Study.json#/$defs/EnvironmentParameter"
},
"title": "EnvironmentParameters",
"type": [
@@ -322,7 +320,8 @@
"primaryModel": true
}
},
- "EnvironmentParameters": {
+ "EnvironmentParameter": {
+ "description": "An environmental parameter that was kept constant throughout the study and did not change between observation units.\n\nMIAPPE V1.1 (DM-57) Environment - Environmental parameters that were kept constant throughout the study and did not change between observation units or assays. Environment characteristics that vary over time, i.e. environmental variables, should be recorded as Observed Variables.",
"properties": {
"description": {
"description": "Human-readable value of the environment parameter (defined above) constant within the experiment",
@@ -457,6 +456,7 @@
"type": "string"
},
"timestamp": {
+ "description": "The timestamp of the update.",
"format": "date-time",
"type": [
"null",
@@ -464,6 +464,7 @@
]
},
"version": {
+ "description": "The version of the update.",
"type": [
"null",
"string"
diff --git a/Specification/BrAPI-Schema/BrAPI-Core/Trial.json b/Specification/BrAPI-Schema/BrAPI-Core/Trial.json
index b19c7fd6..76ae611f 100644
--- a/Specification/BrAPI-Schema/BrAPI-Core/Trial.json
+++ b/Specification/BrAPI-Schema/BrAPI-Core/Trial.json
@@ -238,12 +238,14 @@
"Publication": {
"properties": {
"publicationPUI": {
+ "description": "The permanent unique identifier of the publication.",
"type": [
"null",
"string"
]
},
"publicationReference": {
+ "description": "The publication reference.",
"type": [
"null",
"string"
diff --git a/Specification/BrAPI-Schema/BrAPI-Genotyping/Call.json b/Specification/BrAPI-Schema/BrAPI-Genotyping/Call.json
index b4a9b37f..f86bcf47 100644
--- a/Specification/BrAPI-Schema/BrAPI-Genotyping/Call.json
+++ b/Specification/BrAPI-Schema/BrAPI-Genotyping/Call.json
@@ -67,6 +67,7 @@
}
},
"GenotypeMetadata": {
+ "description": "An additional layer of metadata associated with a genotype",
"properties": {
"dataType": {
"description": "The type of field represented in this Genotype Field. This is intended to help parse the data out of JSON.",
diff --git a/Specification/BrAPI-Schema/BrAPI-Germplasm/Cross.json b/Specification/BrAPI-Schema/BrAPI-Germplasm/Cross.json
index e46466af..10b88eb0 100644
--- a/Specification/BrAPI-Schema/BrAPI-Germplasm/Cross.json
+++ b/Specification/BrAPI-Schema/BrAPI-Germplasm/Cross.json
@@ -65,12 +65,12 @@
},
"plannedCross": {
"$ref": "PlannedCross.json#/$defs/PlannedCross",
- "description": "the unique identifier for a planned cross",
+ "description": "The Cross that was used in the planning of this one.",
"referencedAttribute": "crosses",
"relationshipType": "many-to-one"
},
"pollinationEvents": {
- "description": "The list of pollination events that occurred for this cross",
+ "description": "The list of pollination events that occurred for this cross.",
"relationshipType": "one-to-many",
"referencedAttribute": "cross",
"items": {
@@ -132,7 +132,7 @@
}
},
"title": "CrossAttribute",
- "description": "A custom attributes associated with a cross",
+ "description": "A custom attribute associated with a cross. For example, if the crossing event occurred on a humid day, a user might record 'crossAttributeName':'Relative Humidity', 'crossAttributeValue':'80%'",
"type": "object",
"brapi-metadata": {
"primaryModel": false
@@ -163,14 +163,14 @@
]
},
"cross": {
- "description": "Pollination events associated with a cross",
+ "description": "The Cross associated with this Pollination Event",
"$ref": "../BrAPI-Germplasm/Cross.json#/$defs/Cross",
"relationshipType": "many-to-one",
"referencedAttribute": "pollinationEvents"
}
},
"title": "PollinationEvent",
- "description": "A pollination event that occurred for this cross",
+ "description": "A Pollination Event that was used or attempted for a Cross.",
"type": "object",
"brapi-metadata": {
"primaryModel": false
diff --git a/Specification/BrAPI-Schema/BrAPI-Germplasm/Germplasm.json b/Specification/BrAPI-Schema/BrAPI-Germplasm/Germplasm.json
index 5eb79ab7..52874487 100644
--- a/Specification/BrAPI-Schema/BrAPI-Germplasm/Germplasm.json
+++ b/Specification/BrAPI-Schema/BrAPI-Germplasm/Germplasm.json
@@ -133,7 +133,7 @@
]
},
"germplasmDbId": {
- "description": "The ID which uniquely identifies a germplasm within the given database server \n
MIAPPE V1.1 (DM-41) Biological material ID - Code used to identify the biological material in the data file. Should be unique within the Investigation. Can correspond to experimental plant ID, seed lot ID, etc. This material identification is different from a BiosampleID which corresponds to Observation Unit or Samples sections below.",
+ "description": "The ID which uniquely identifies a germplasm within the given database server \n
MIAPPE V1.1 (DM-41) Biological material ID - Code used to identify the biological material in the data file. Should be unique within the Investigation. Can correspond to experimental plant ID, inventory lot ID, etc. This material identification is different from a BiosampleID which corresponds to Observation Unit or Samples sections below.",
"type": "string"
},
"germplasmName": {
@@ -155,7 +155,7 @@
]
},
"germplasmPUI": {
- "description": "The Permanent Unique Identifier which represents a germplasm\n\nMIAPPE V1.1 (DM-41) Biological material ID - Code used to identify the biological material in the data file. Should be unique within the Investigation. Can correspond to experimental plant ID, seed lot ID, etc This material identification is different from a BiosampleID which corresponds to Observation Unit or Samples sections below.\n\nMIAPPE V1.1 (DM-51) Material source DOI - Digital Object Identifier (DOI) of the material source\n\nMCPD (v2.1) (PUID) 0. Any persistent, unique identifier assigned to the accession so it can be unambiguously referenced at the global level and the information associated with it harvested through automated means. Report one PUID for each accession. The Secretariat of the International Treaty on Plant Genetic Resources for Food and Agriculture (PGRFA) is facilitating the assignment of a persistent unique identifier (PUID), in the form of a DOI, to PGRFA at the accession level. Genebanks not applying a true PUID to their accessions should use, and request recipients to use, the concatenation of INSTCODE, ACCENUMB, and GENUS as a globally unique identifier similar in most respects to the PUID whenever they exchange information on accessions with third parties.",
+ "description": "The Permanent Unique Identifier which represents a germplasm\n\nMIAPPE V1.1 (DM-41) Biological material ID - Code used to identify the biological material in the data file. Should be unique within the Investigation. Can correspond to experimental plant ID, inventory lot ID, etc This material identification is different from a BiosampleID which corresponds to Observation Unit or Samples sections below.\n\nMIAPPE V1.1 (DM-51) Material source DOI - Digital Object Identifier (DOI) of the material source\n\nMCPD (v2.1) (PUID) 0. Any persistent, unique identifier assigned to the accession so it can be unambiguously referenced at the global level and the information associated with it harvested through automated means. Report one PUID for each accession. The Secretariat of the International Treaty on Plant Genetic Resources for Food and Agriculture (PGRFA) is facilitating the assignment of a persistent unique identifier (PUID), in the form of a DOI, to PGRFA at the accession level. Genebanks not applying a true PUID to their accessions should use, and request recipients to use, the concatenation of INSTCODE, ACCENUMB, and GENUS as a globally unique identifier similar in most respects to the PUID whenever they exchange information on accessions with third parties.",
"type": "string"
},
"germplasmPreprocessing": {
@@ -245,7 +245,6 @@
"synonyms": {
"description": "List of alternative names or IDs used to reference this germplasm\n\nMCPD (v2.1) (OTHERNUMB) 24. Any other identifiers known to exist in other collections for this accession. Use the following format: INSTCODE:ACCENUMB;INSTCODE:identifier;INSTCODE and identifier are separated by a colon without space. Pairs of INSTCODE and identifier are separated by a semicolon without space. When the institute is not known, the identifier should be preceded by a colon.",
"relationshipType": "one-to-many",
- "referencedAttribute": "germplasm",
"items": {
"$ref": "../BrAPI-Germplasm/Germplasm.json#/$defs/Synonym",
"description": "Synonyms"
@@ -264,7 +263,6 @@
"$ref": "../BrAPI-Germplasm/Germplasm.json#/$defs/TaxonId",
"description": "TaxonIds"
},
- "title": "TaxonIds",
"type": [
"null",
"array"
@@ -408,7 +406,7 @@
]
},
"germplasm": {
- "description": "donoers associated with a germplasm",
+ "description": "donors associated with a germplasm",
"$ref": "../BrAPI-Germplasm/Germplasm.json#/$defs/Germplasm",
"relationshipType": "many-to-one",
"referencedAttribute": "donors"
@@ -502,6 +500,7 @@
}
},
"Synonym": {
+ "description": "Alternative way to refer to a Germplasm, Cultivar of Variety",
"properties": {
"synonym": {
"description": "Alternative name or ID used to reference this germplasm",
@@ -532,6 +531,7 @@
}
},
"TaxonId": {
+ "description": "The Taxon of the Germplasm",
"properties": {
"taxonId": {
"description": "The identifier (name, ID, URI) of a particular taxonomy within the source provider",
diff --git a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Event.json b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Event.json
index 50117ef4..1f61935f 100644
--- a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Event.json
+++ b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Event.json
@@ -192,7 +192,7 @@
}
},
"title": "EventParameter",
- "description": "An object describing additional event parameters. Each of the following accepts a human-readable value or URI",
+ "description": "Additional metadata to describe an event, based on the ICASA standard model. For example, 'Tillage Implement' (tiimp), 'Tillage Depth' (tidep), and 'Tillage Mix Effectiveness' (timix) might all be recorded parameters for a Tillage event.",
"type": "object",
"brapi-metadata": {
"primaryModel": false
diff --git a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Image.json b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Image.json
index df64e1a8..9eb5683e 100644
--- a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Image.json
+++ b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Image.json
@@ -4,8 +4,7 @@
"properties": {
"additionalInfo": {
"description": "A free space containing any additional information related to a particular object. A data source may provide any JSON object, unrestricted by the BrAPI specification.",
- "$ref": "../BrAPI-Common/AdditionalInfo.json#/$defs/AdditionalInfo",
- "relationshipType": "one-to-one"
+ "$ref": "../BrAPI-Common/AdditionalInfo.json#/$defs/AdditionalInfo"
},
"copyright": {
"description": "The copyright information of this image. Example 'Copyright 2018 Bob Robertson'",
diff --git a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Method.json b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Method.json
index 093dff7f..12b70fb7 100644
--- a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Method.json
+++ b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Method.json
@@ -73,6 +73,7 @@
}
},
"required": [
+ "methodDbId",
"methodName"
],
"title": "Method",
diff --git a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Observation.json b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Observation.json
index c6ec35b8..3ac614cc 100644
--- a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Observation.json
+++ b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Observation.json
@@ -64,6 +64,7 @@
"relationshipType": "many-to-one"
},
"season": {
+ "description": "The season for this Observation",
"$ref": "../BrAPI-Core/Season.json#/$defs/Season",
"relationshipType": "many-to-one"
},
diff --git a/Specification/BrAPI-Schema/BrAPI-Phenotyping/ObservationUnit.json b/Specification/BrAPI-Schema/BrAPI-Phenotyping/ObservationUnit.json
index 340f6769..713a53c2 100644
--- a/Specification/BrAPI-Schema/BrAPI-Phenotyping/ObservationUnit.json
+++ b/Specification/BrAPI-Schema/BrAPI-Phenotyping/ObservationUnit.json
@@ -228,22 +228,8 @@
]
},
"positionCoordinateXType": {
- "description": "The type of positional coordinate used. Must be one of the following values \n\nLONGITUDE - ISO 6709 standard, WGS84 geodetic datum. See 'Location Coordinate Encoding' for details \n\nLATITUDE - ISO 6709 standard, WGS84 geodetic datum. See 'Location Coordinate Encoding' for details \n\nPLANTED_ROW - The physical planted row number \n\nPLANTED_INDIVIDUAL - The physical counted number, could be independent or within a planted row \n\nGRID_ROW - The row index number of a square grid overlay \n\nGRID_COL - The column index number of a square grid overlay \n\nMEASURED_ROW - The distance in meters from a defined 0-th row \n\nMEASURED_COL - The distance in meters from a defined 0-th column ",
- "enum": [
- "LONGITUDE",
- "LATITUDE",
- "PLANTED_ROW",
- "PLANTED_INDIVIDUAL",
- "GRID_ROW",
- "GRID_COL",
- "MEASURED_ROW",
- "MEASURED_COL",
- null
- ],
- "type": [
- "null",
- "string"
- ]
+ "description": "The type of positional coordinate used for the X coordinate of the position.",
+ "$ref": "../BrAPI-Phenotyping/ObservationUnit.json#/$defs/PositionCoordinateType"
},
"positionCoordinateY": {
"description": "The Y position coordinate for an observation unit. Different systems may use different coordinate systems.",
@@ -253,22 +239,8 @@
]
},
"positionCoordinateYType": {
- "description": "The type of positional coordinate used. Must be one of the following values \n\nLONGITUDE - ISO 6709 standard, WGS84 geodetic datum. See 'Location Coordinate Encoding' for details \n\nLATITUDE - ISO 6709 standard, WGS84 geodetic datum. See 'Location Coordinate Encoding' for details \n\nPLANTED_ROW - The physical planted row number \n\nPLANTED_INDIVIDUAL - The physical counted number, could be independent or within a planted row \n\nGRID_ROW - The row index number of a square grid overlay \n\nGRID_COL - The column index number of a square grid overlay \n\nMEASURED_ROW - The distance in meters from a defined 0-th row \n\nMEASURED_COL - The distance in meters from a defined 0-th column ",
- "enum": [
- "LONGITUDE",
- "LATITUDE",
- "PLANTED_ROW",
- "PLANTED_INDIVIDUAL",
- "GRID_ROW",
- "GRID_COL",
- "MEASURED_ROW",
- "MEASURED_COL",
- null
- ],
- "type": [
- "null",
- "string"
- ]
+ "description": "The type of positional coordinate used for the Y coordinate of the position.",
+ "$ref": "../BrAPI-Phenotyping/ObservationUnit.json#/$defs/PositionCoordinateType"
},
"observationUnit": {
"description": "associated observation Unit",
@@ -285,20 +257,23 @@
}
},
"ObservationTreatment": {
+ "description": "A Treatment applied an Observation Unit at a given Modality/Level for a specific Factor.",
"properties": {
"factor": {
"description": "The type of treatment/factor. ex. 'fertilizer', 'inoculation', 'irrigation', etc\n\nMIAPPE V1.1 (DM-61) Experimental Factor type - Name/Acronym of the experimental factor.",
"type": [
"null",
"string"
- ]
+ ],
+ "examples": ["test-factor:dia2020-2-nv.fertilizer"]
},
"modality": {
"description": "The treatment/factor description. ex. 'low fertilizer', 'yellow rust inoculation', 'high water', etc\n\nMIAPPE V1.1 (DM-62) Experimental Factor description - Free text description of the experimental factor. This includes all relevant treatments planned and protocol planned for all the plants targeted by a given experimental factor. ",
"type": [
"null",
"string"
- ]
+ ],
+ "examples": ["test-factor:dia2020-2-nv.lf"]
},
"observationUnit": {
"description": "associated observation Unit",
@@ -308,11 +283,28 @@
}
},
"title": "ObservationTreatment",
- "description": "The type of treatment/factor. ex. 'fertilizer', 'inoculation', 'irrigation', etc. MIAPPE V1.1 (DM-61) Experimental Factor type - Name/Acronym of the experimental factor.",
"type": "object",
"brapi-metadata": {
"primaryModel": false
}
+ },
+ "PositionCoordinateType": {
+ "description": "The type of positional coordinate. Must be one of the following values \n\nLONGITUDE - ISO 6709 standard, WGS84 geodetic datum. See 'Location Coordinate Encoding' for details \n\nLATITUDE - ISO 6709 standard, WGS84 geodetic datum. See 'Location Coordinate Encoding' for details \n\nPLANTED_ROW - The physical planted row number \n\nPLANTED_INDIVIDUAL - The physical counted number, could be independent or within a planted row \n\nGRID_ROW - The row index number of a square grid overlay \n\nGRID_COL - The column index number of a square grid overlay \n\nMEASURED_ROW - The distance in meters from a defined 0-th row \n\nMEASURED_COL - The distance in meters from a defined 0-th column ",
+ "enum": [
+ "LONGITUDE",
+ "LATITUDE",
+ "PLANTED_ROW",
+ "PLANTED_INDIVIDUAL",
+ "GRID_ROW",
+ "GRID_COL",
+ "MEASURED_ROW",
+ "MEASURED_COL",
+ null
+ ],
+ "type": [
+ "null",
+ "string"
+ ]
}
},
"$id": "https://brapi.org/Specification/BrAPI-Schema/BrAPI-Phenotyping/ObservationUnit.json",
diff --git a/Specification/BrAPI-Schema/BrAPI-Phenotyping/OntologyReference.json b/Specification/BrAPI-Schema/BrAPI-Phenotyping/OntologyReference.json
index 010d94f7..b39ee406 100644
--- a/Specification/BrAPI-Schema/BrAPI-Phenotyping/OntologyReference.json
+++ b/Specification/BrAPI-Schema/BrAPI-Phenotyping/OntologyReference.json
@@ -49,6 +49,7 @@
"DocumentationLink": {
"properties": {
"URL": {
+ "description": "The URL or URI to the documentation",
"format": "uri",
"type": [
"null",
@@ -56,6 +57,8 @@
]
},
"type": {
+ "description": "The type of documentation, which can be OBO Foundry, an RDF term or a webpage.",
+ "title": "DocumentationLinkType",
"enum": [
"OBO",
"RDF",
diff --git a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Scale.json b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Scale.json
index fdc13ef1..9cc0342c 100644
--- a/Specification/BrAPI-Schema/BrAPI-Phenotyping/Scale.json
+++ b/Specification/BrAPI-Schema/BrAPI-Phenotyping/Scale.json
@@ -94,6 +94,7 @@
}
},
"ValidValues": {
+ "description": "Defines the valid values for a Scale, which can be restricted to a list of categorical values, or a minimum and/or a maximum value.",
"properties": {
"categories": {
"description": "List of possible values with optional labels",
@@ -138,6 +139,7 @@
}
},
"ValidValuesCategory": {
+ "description": "A categorical value for a Scale.",
"properties": {
"label": {
"description": "A text label for a category",