Skip to content
Merged
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
3 changes: 0 additions & 3 deletions .github/workflows/generate-schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,6 @@ jobs:
- name: Generate OpenAPI, GraphQL and OWL
working-directory: ./generator
run: ./gradlew generateAll
- name: Compare OpenAPI
working-directory: ./generator
run: ./gradlew compareAll
- name: Commit generated files
if: needs.check.outputs.skip_commit == 'false'
uses: stefanzweifel/git-auto-commit-action@v5
Expand Down
5 changes: 4 additions & 1 deletion Specification/BrAPI-Schema/BrAPI-Core/Program.json
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,10 @@
"description": "A BrAPI Program represents the high level organization or group who is responsible for conducting trials and studies. Things like Breeding Programs and Funded Projects are considered BrAPI Programs. A Program can contain multiple Trials. A Trial can contain multiple Studies.",
"type": "object",
"brapi-metadata": {
"primaryModel": true
"primaryModel": true,
"controlledVocabularyProperties": [
"commonCropName"
]
}
}
},
Expand Down
1 change: 1 addition & 0 deletions Specification/BrAPI-Schema/BrAPI-Core/Study.json
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,7 @@
"brapi-metadata": {
"primaryModel": true,
"controlledVocabularyProperties": [
"observationLevels",
"studyType"
]
}
Expand Down
9 changes: 8 additions & 1 deletion Specification/BrAPI-Schema/BrAPI-Genotyping/VariantSet.json
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,10 @@
"null",
"array"
]
},
"extract": {
"description": "Will perform a search for `Calls` which match the search criteria in `variantSetsExtractRequest`. The results of the search will be used to create a new `VariantSet` on the server. The new `VariantSet` will be returned.",
"$ref": "VariantSet.json#/$defs/VariantSet"
}
},
"required": [
Expand All @@ -170,7 +174,10 @@
"description": "A VariantSet is a collection of variants and variant calls intended to be analyzed together.",
"type": "object",
"brapi-metadata": {
"primaryModel": true
"primaryModel": true,
"actionProperties": [
"extract"
]
}
},
"Analysis": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
"description": "The record of an event where material was moved in or out of a particular SeedLot",
"type": "object",
"brapi-metadata": {
"primaryModel": false
"primaryModel": true
}
}
},
Expand Down
9 changes: 7 additions & 2 deletions Specification/BrAPI-Schema/BrAPI-Phenotyping/Image.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@
"title": "ExternalReferences",
"type": "array"
},
"imageContent": {
"description": "The unique identifier of an image",
"type": "string",
"format": "binary"
},
"imageDbId": {
"description": "The unique identifier of an image",
"type": "string"
Expand Down Expand Up @@ -128,8 +133,8 @@
"$ref": "Observation.json#/$defs/Observation"
},
"referencedAttribute": "images",
"relationshipType": "many-to-many",
"type": "array"
"relationshipType": "one-to-many",
"type": ["null", "array"]
}
},
"required": [
Expand Down
294 changes: 294 additions & 0 deletions Specification/BrAPI-Schema/BrAPI-Phenotyping/Observation.json
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,300 @@
"brapi-metadata": {
"primaryModel": true
}
},
"ObservationTable": {
"type": "object",
"properties": {
"data": {
"description": "The 2D matrix of observation data. ObservationVariables and other metadata are the columns, ObservationUnits are the rows.",
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
},
"example": [
[
"2019-09-10T18:13:27.223Z",
"f3a8a3db",
"Plant Alpha",
"0fe3e48b",
"2017 Plant Study",
"06307ec0",
"A0043001",
"76.50106681",
"42.44409301",
"2017",
"Field_1",
"Plot_11",
"SubPlot_111",
"Plant_1111",
"Pot_1111",
"Block_11",
"Entry_11",
"Rep_11",
"25.3",
"",
"",
""
],
[
"2019-09-10T18:14:27.223Z",
"f3a8a3db",
"Plant Alpha",
"0fe3e48b",
"2017 Plant Study",
"06307ec0",
"A0043001",
"76.50106681",
"42.44409301",
"2017",
"Field_1",
"Plot_11",
"SubPlot_111",
"Plant_1111",
"Pot_1111",
"Block_11",
"Entry_11",
"Rep_11",
"",
"3",
"",
""
],
[
"2019-09-10T18:15:54.868Z",
"05d1b011",
"Plant Beta",
"0fe3e48b",
"2017 Plant Study",
"59d435cd",
"A0043002",
"76.50106683",
"42.44409301",
"2017",
"Field_1",
"Plot_11",
"SubPlot_112",
"Plant_1122",
"Pot_1122",
"Block_11",
"Entry_11",
"Rep_12",
"27.9",
"",
"",
""
],
[
"2019-09-10T18:16:54.868Z",
"05d1b011",
"Plant Beta",
"0fe3e48b",
"2017 Plant Study",
"59d435cd",
"A0043002",
"76.50106683",
"42.44409301",
"2017",
"Field_1",
"Plot_11",
"SubPlot_112",
"Plant_1122",
"Pot_1122",
"Block_11",
"Entry_11",
"Rep_12",
"",
"1",
"",
""
],
[
"2019-09-10T18:17:34.433Z",
"67e2d87c",
"Plant Gamma",
"0fe3e48b",
"2017 Plant Study",
"06307ec0",
"A0043001",
"76.50106681",
"42.44409356",
"2017",
"Field_1",
"Plot_12",
"SubPlot_123",
"Plant_1233",
"Pot_1233",
"Block_12",
"Entry_12",
"Rep_11",
"",
"3",
"",
""
],
[
"2019-09-10T18:18:34.433Z",
"67e2d87c",
"Plant Gamma",
"0fe3e48b",
"2017 Plant Study",
"06307ec0",
"A0043001",
"76.50106681",
"42.44409356",
"2017",
"Field_1",
"Plot_12",
"SubPlot_123",
"Plant_1233",
"Pot_1233",
"Block_12",
"Entry_12",
"Rep_11",
"25.5",
"",
"",
""
],
[
"2019-09-10T18:19:15.629Z",
"d98d0d4c",
"Plant Epsilon",
"0fe3e48b",
"2017 Plant Study",
"59d435cd",
"A0043002",
"76.50106683",
"42.44409356",
"2017",
"Field_1",
"Plot_12",
"SubPlot_124",
"Plant_1244",
"Pot_1244",
"Block_12",
"Entry_12",
"Rep_12",
"28.9",
"",
"",
""
],
[
"2019-09-10T18:20:15.629Z",
"d98d0d4c",
"Plant Epsilon",
"0fe3e48b",
"2017 Plant Study",
"59d435cd",
"A0043002",
"76.50106683",
"42.44409356",
"2017",
"Field_1",
"Plot_12",
"SubPlot_124",
"Plant_1244",
"Pot_1244",
"Block_12",
"Entry_12",
"Rep_12",
"",
"0",
"",
""
]
]
},
"headerRow": {
"description": "<p>The table is REQUIRED to have the following columns</p>\n<ul>\n <li>observationUnitDbId - Each row is related to one Observation Unit</li>\n <li>observationTimeStamp - Each row is has a time stamp for when the observation was taken</li>\n <li>At least one column with an observationVariableDbId</li>\n</ul>\n<p>The table may have any or all of the following OPTIONAL columns. Included columns are decided by the server developer</p>\n<ul>\n <li>observationUnitName</li>\n <li>studyDbId</li>\n <li>studyName</li>\n <li>germplasmDbId</li>\n <li>germplasmName</li>\n <li>positionCoordinateX</li>\n <li>positionCoordinateY</li>\n <li>year</li>\n</ul>\n<p>The table also may have any number of Observation Unit Hierarchy Level columns. For example:</p>\n<ul>\n <li>field</li>\n <li>plot</li>\n <li>sub-plot</li>\n <li>plant</li>\n <li>pot</li>\n <li>block</li>\n <li>entry</li>\n <li>rep</li>\n</ul>\n<p>The JSON representation provides a pair of extra arrays for defining the headers of the table. \nThe first array \"headerRow\" will always contain \"observationUnitDbId\" and any or all of the OPTIONAL column header names. \nThe second array \"observationVariables\" contains the names and DbIds for the Observation Variables represented in the table. \nBy appending the two arrays, you can construct the complete header row of the table. </p>",
"items": {
"description": "valid header fields",
"enum": [
"observationTimeStamp",
"observationUnitDbId",
"observationUnitName",
"studyDbId",
"studyName",
"germplasmDbId",
"germplasmName",
"positionCoordinateX",
"positionCoordinateY",
"year",
"field",
"plot",
"sub-plot",
"plant",
"pot",
"block",
"entry",
"rep"
],
"type": "string"
},
"type": "array",
"example": [
"observationTimeStamp",
"observationUnitDbId",
"observationUnitName",
"studyDbId",
"studyName",
"germplasmDbId",
"germplasmName",
"positionCoordinateX",
"positionCoordinateY",
"year",
"field",
"plot",
"sub-plot",
"plant",
"pot",
"block",
"entry",
"rep"
]
},
"observationVariables": {
"description": "The list of observation variables which have values recorded for them in the data matrix. Append to the 'headerRow' for complete header row of the table.",
"type": "array",
"items": {
"type": "object",
"properties": {
"observationVariableDbId": {
"description": "Variable unique identifier",
"type": "string",
"example": "367aa1a9"
},
"observationVariableName": {
"description": "Variable name (usually a short name)",
"type": "string",
"example": "Plant height"
}
}
},
"example": [
{
"observationVariableDbId": "367aa1a9",
"observationVariableName": "Plant height"
},
{
"observationVariableDbId": "2acb934c",
"observationVariableName": "Carotenoid"
},
{
"observationVariableDbId": "85a21ce1",
"observationVariableName": "Root color"
},
{
"observationVariableDbId": "46f590e5",
"observationVariableName": "Virus severity"
}
]
}
}
}
},
"$id": "https://brapi.org/Specification/BrAPI-Schema/BrAPI-Phenotyping/Observation.json",
Expand Down
Loading
Loading