Skip to content

Commit

Permalink
Merge pull request #198 from ga4gh-beacon/schema-urgent-fixes
Browse files Browse the repository at this point in the history
Schema urgent fixes
  • Loading branch information
mbaudis authored Dec 17, 2024
2 parents 4c2b35b + 3df917e commit 9ea8110
Show file tree
Hide file tree
Showing 69 changed files with 1,224 additions and 460 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,15 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a
## 2.1.1

*Released, October, 8, 2024*
[Beacon-v2.1.1](https://github.com/ga4gh-beacon/beacon-v2/tree/5ea17fbd0d2ba533aa1e85f7271f9a2cc9be6794)

* Changed uri for uri-template in Endpoint.singleEntryUrl


## 2.1.0

*Released, July, 19, 2024*
[Beacon-v2.1.0](https://github.com/ga4gh-beacon/beacon-v2/tree/16862205c79294fae5473f7fa330bf5929b3b120)

* Relocated TypedQuantity required to proper level of the schema for complexValue
* Added end and start entities for ageRange and iso8601duration for age
Expand All @@ -48,6 +50,7 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a
## 2.0.1

*Released July, 16, 2024*
[Beacon-v2.0.1](https://github.com/ga4gh-beacon/beacon-v2/tree/f6f85c445922831bd398552384593206c86287de)

* Replaced ENSGLOSSARY for SO ontology family in documentation examples
* Moved CURIE to beaconCommonComponents
Expand All @@ -58,6 +61,7 @@ There is a set of tools in [`/bin`](./bin/) to facilitate the conversion. ATM, a
## 2.0.0

*Released June, 21, 2022*
[Beacon-v2.0.0](https://github.com/ga4gh-beacon/beacon-v2/tree/d07ef1626321f7428374a4f68d864dfa5e98370f)

* change notes with respect to the repository & documentation are now in [docs.genomebeacons.org](https://docs.genomebeacons.org/changes-todo/)
* NOTE: on 2022-06-20 the previous development repositories have been archived:
Expand Down
4 changes: 2 additions & 2 deletions bin/_jsonref2json.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# "$comment": "version: ga4gh-beacon-cohort-v2.0.0",
# "$schema": "https://json-schema.org/draft/2020-12/schema",
# "additionalProperties": true,
# "definitions": {
# "$defs": {
# "CohortCriteria": {
# "description": "THIS IS NOT OK",
# "properties": {
Expand All @@ -30,7 +30,7 @@
# "inclusionCriteria": {
# "description": "THIS IS OK",
# "type": "object",
# "$ref": "#/definitions/CohortCriteria"
# "$ref": "#/$defs/CohortCriteria"
# }
# }
# }
Expand Down
18 changes: 9 additions & 9 deletions bin/adhoc/beaconCommonComponents.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {
"$defs": {
"$schema": {
"$comment": "TO REVIEW: adding a `format` or `regex` attribute that validates correctly against a file path (relative).",
"description": "Refers to the JSON Schema which describes the set of valid attributes for this particular document type. This attribute is mostly used in schemas that should be tested in Beacon implementations.",
Expand Down Expand Up @@ -83,7 +83,7 @@
"description": "A handover is a typed link for attaching actionable links to results, non purely informational, requests. The goal of the handovers is to list the different actions available, e.g.:\n* a link to a request access page * linking to a file for download, e.g. a VCF file\nAnother common scenario is to provide a fast summary response (e.g. BeconCountResponse) and to provide access to different endpoints for the entities matched by the query using temporary access tokens in the handover URLs.",
"properties": {
"handoverType": {
"$ref": "#/definitions/HandoverType"
"$ref": "#/$defs/HandoverType"
},
"note": {
"description": "An optional text including considerations on the handover link provided.",
Expand Down Expand Up @@ -148,15 +148,15 @@
"ListOfHandovers": {
"description": "Set of handovers to be added in one section the response.",
"items": {
"$ref": "#/definitions/Handover",
"$ref": "#/$defs/Handover",
"description": "Requested schema to be used for individuals in the response."
},
"type": "array"
},
"ListOfSchemas": {
"description": "Set of schemas to be used in the response to a request.",
"items": {
"$ref": "#/definitions/SchemasPerEntity"
"$ref": "#/$defs/SchemasPerEntity"
},
"type": "array"
},
Expand All @@ -182,22 +182,22 @@
"description": "Pagination to apply or that has been applied on the results.",
"properties": {
"currentPage": {
"$ref": "#/definitions/PageToken",
"$ref": "#/$defs/PageToken",
"description": "Token of the returned page. To be used only in the response to allow the client to check if the returned page is the one requested."
},
"limit": {
"$ref": "#/definitions/Limit"
"$ref": "#/$defs/Limit"
},
"nextPage": {
"$ref": "#/definitions/PageToken",
"$ref": "#/$defs/PageToken",
"description": "Token of the next page. Used to navigate forward. If empty, it is assumed that no more pages are available"
},
"previousPage": {
"$ref": "#/definitions/PageToken",
"$ref": "#/$defs/PageToken",
"description": "Token of the previous page. Used to navigate backwards. If empty, it is assumed that the current page is the first one."
},
"skip": {
"$ref": "#/definitions/Skip"
"$ref": "#/$defs/Skip"
}
},
"type": "object"
Expand Down
2 changes: 1 addition & 1 deletion bin/adhoc/ontologyTerm.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"additionalProperties": true,
"properties": {
"id": {
"$ref": "./beaconCommonComponents.json#/definitions/CURIE"
"$ref": "./beaconCommonComponents.json#/$defs/CURIE"
},
"label": {
"description": "The text that describes the term. By default it could be the preferred text of the term, but is it acceptable to customize it for a clearer description and understanding of the term in an specific context.",
Expand Down
4 changes: 2 additions & 2 deletions bin/beacon_yaml2md.pl
Original file line number Diff line number Diff line change
Expand Up @@ -729,9 +729,9 @@ sub add_properties_vrs {
my ( $property, $data ) = @_;
my %url = (
'SequenceExpression' =>
'https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/',
'https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/',
'CopyNumber' =>
'https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/'
'https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/'
);
if ( exists $url{$property} ) {
$data->{properties} =
Expand Down
4 changes: 2 additions & 2 deletions bin/deref_schemas/biosamples/defaultSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@
},
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {
"$defs": {
"TypedQuantity": {
"properties": {
"quantity": {
Expand Down Expand Up @@ -1479,7 +1479,7 @@
"description": "List of phenotypic abnormalities of the sample. RECOMMENDED.",
"items": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {},
"$defs": {},
"description": "Used to describe a phenotype that characterizes the subject or biosample.",
"properties": {
"evidence": {
Expand Down
8 changes: 4 additions & 4 deletions bin/deref_schemas/cohorts/defaultSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$comment": "version: ga4gh-beacon-cohort-v2.0.0",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"definitions": {
"$defs": {
"CohortCriteria": {
"description": "Criteria used for defining the cohort. It is assumed that all cohort participants will match or NOT match such criteria.",
"properties": {
Expand Down Expand Up @@ -525,7 +525,7 @@
"description": "Phenotypic condition(s) in cohort inclusion criteria",
"items": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {},
"$defs": {},
"description": "Used to describe a phenotype that characterizes the subject or biosample.",
"properties": {
"evidence": {
Expand Down Expand Up @@ -2369,7 +2369,7 @@
"description": "Phenotypic condition(s) in cohort inclusion criteria",
"items": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {},
"$defs": {},
"description": "Used to describe a phenotype that characterizes the subject or biosample.",
"properties": {
"evidence": {
Expand Down Expand Up @@ -3418,7 +3418,7 @@
"description": "Phenotypic condition(s) in cohort inclusion criteria",
"items": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {},
"$defs": {},
"description": "Used to describe a phenotype that characterizes the subject or biosample.",
"properties": {
"evidence": {
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/datasets/defaultSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"description": "Data use conditions applying to this dataset.",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"definitions": {
"$defs": {
"DUODataUse": {
"allOf": [
{
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/genomicVariations/defaultSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$comment": "version: ga4gh-beacon-variant-v2.0.0",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"definitions": {
"$defs": {
"CaseLevelVariant": {
"description": "",
"properties": {
Expand Down
6 changes: 3 additions & 3 deletions bin/deref_schemas/individuals/defaultSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1035,7 +1035,7 @@
},
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {
"$defs": {
"TypedQuantity": {
"properties": {
"quantity": {
Expand Down Expand Up @@ -1812,7 +1812,7 @@
"items": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"definitions": {
"$defs": {
"pedigreeMember": {
"examples": [
{
Expand Down Expand Up @@ -2401,7 +2401,7 @@
"phenotypicFeatures": {
"items": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"definitions": {},
"$defs": {},
"description": "Used to describe a phenotype that characterizes the subject or biosample.",
"properties": {
"evidence": {
Expand Down
2 changes: 1 addition & 1 deletion bin/deref_schemas/obj/CopyNumber.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
CopyNumber:
properties: '[VRS definition for CopyNumber](https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/CopyNumber)'
properties: '[VRS definition for CopyNumber](https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/CopyNumber)'
type: allOf
2 changes: 1 addition & 1 deletion bin/transform_json2md.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Fixing errors in JSON
EOT

# For mysteriorous reasons ontologyTerm.json (within CURIE) only works (jsonref2json.js) with $ref: url
sed -i "s#\./beaconCommonComponents.json\#/definitions/CURIE#$adhoc_url/beaconCommonComponents.json\#/definitions/CURIE#" $fwk_dir/common/ontologyTerm.json
sed -i "s#\./beaconCommonComponents.json\#/$defs/CURIE#$adhoc_url/beaconCommonComponents.json\#/$defs/CURIE#" $fwk_dir/common/ontologyTerm.json

cat<<EOT
====================================
Expand Down
2 changes: 1 addition & 1 deletion docs/schemas-md/obj/CopyNumber.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
|Term | Description | Type | Properties | Example | Enum|
| ---| ---| ---| ---| ---| --- |
| CopyNumber | NA | allOf | [VRS definition for CopyNumber](https://raw.githubusercontent.com/ga4gh/vrs/1.2/schema/vrs.json#/definitions/CopyNumber) | NA | NA|
| CopyNumber | NA | allOf | [VRS definition for CopyNumber](https://w3id.org/ga4gh/schema/vrs/1.3/vrs.json#/definitions/CopyNumber) | NA | NA|
10 changes: 5 additions & 5 deletions framework/json/configuration/beaconConfigurationSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Files complaint with this schema are the configuration ones. The details returned in `service-info` are mirroring the ones in this configuration file.",
"description": "The Beacon configuration reports several attributes of the beacon instance related to security, maturity and available entry types. Where appropriate the details returned in `service-info` should mirror the ones in this configuration.",
"properties": {
"$schema": {
"$ref": "../common/beaconCommonComponents.json#/$defs/$schema"
Expand All @@ -24,7 +24,7 @@
"description": "Declares the level of maturity of the Beacon instance.",
"properties": {
"productionStatus": {
"description": "`DEV`= 'Service potentially unstable, not real data', which availability and data should not be used in production setups. `TEST`= 'Service stable, not real data'. 'PROD'= 'Service stable, actual data'.",
"description": "* `DEV`: Service potentially unstable, _i.e._ potentially not real data,\n inconsistent availability; data should not be used in production setups \n* `TEST`: Service is stable but data should be considered synthetic * `PROD`: Service stable with real world data ",
"enum": [
"DEV",
"TEST",
Expand All @@ -43,11 +43,11 @@
"description": "Default granularity. Some responses could return higher detail, but this would be the granularity by default."
},
"securityLevels": {
"default": [
"CONTROLLED"
],
"description": "All access levels supported by the Beacon. Any combination is valid, as every option would apply to different parts of the Beacon.",
"items": {
"default": [
"CONTROLLED"
],
"enum": [
"PUBLIC",
"REGISTERED",
Expand Down
9 changes: 2 additions & 7 deletions framework/json/configuration/beaconMapSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@
"description": "",
"type": "string"
},
"filteringTermsUrl": {
"description": "Optional. Returns the list of filtering terms that could be applied to this entry type. It is added here for convenience of the Beacon clients, so they don't need to parse the OpenAPI endpoints definition to get that endpoint. Also, in very simple Beacons, that endpoint could be the one of the few implemented, together with \u00b4rootUrl` and \u00b4singleEntryUrl`, in which case the whole map of endpoints is found in the current Map.",
"format": "uri",
"type": "string"
},
"openAPIEndpointsDefinition": {
"description": "Reference to the file that includes the OpenAPI definition of the endpoints implemented in this Beacon instance. The referenced file MUST BE a valid OpenAPI definition file, as it is expected that the Beacon clients (e.g. a Beacon Network) should be able to parse it to discover additional details on the supported verbs, parameters, etc.",
"type": "string"
Expand All @@ -30,7 +25,7 @@
},
"singleEntryUrl": {
"description": "Optional, but recommended. Returns only one instance of this entry, identified by an `id`. It is added here for convenience of the Beacon clients, so they don't need to parse the OpenAPI endpoints definition to get that base endpoint. Also, in very simple Beacons, that endpoint could be the only one implemented, together with \u00b4rootUrl`, in which case the whole map of endpoints is found in the current Map.",
"format": "uri",
"format": "uri-template",
"type": "string"
}
},
Expand All @@ -48,7 +43,7 @@
},
"url": {
"description": "Endpoint URL",
"format": "uri",
"format": "uri-template",
"type": "string"
}
},
Expand Down
Loading

0 comments on commit 9ea8110

Please sign in to comment.