diff --git a/examples/data-types/coding.yaml b/examples/core-im/coding.yaml similarity index 100% rename from examples/data-types/coding.yaml rename to examples/core-im/coding.yaml diff --git a/schema/Makefile b/schema/Makefile index b2a4916..f7874b8 100644 --- a/schema/Makefile +++ b/schema/Makefile @@ -1,7 +1,4 @@ -all: gks-data-types gks-core-im gks-domain-entities - -gks-data-types: - (cd data-types; make all) +all: gks-core-im gks-domain-entities gks-core-im: (cd core-im; make all) @@ -10,6 +7,5 @@ gks-domain-entities: (cd domain-entities; make all) clean: - (cd data-types; make clean) (cd core-im; make clean) (cd domain-entities; make clean) diff --git a/schema/core-im/core-im-source.yaml b/schema/core-im/core-im-source.yaml index 3062cb0..8ee251b 100644 --- a/schema/core-im/core-im-source.yaml +++ b/schema/core-im/core-im-source.yaml @@ -2,8 +2,6 @@ $schema: "https://json-schema.org/draft/2020-12/schema" $id: "https://w3id.org/ga4gh/schema/gks-common/1.x/core-im/core-im-source.yaml" title: GKS Commons Core Information Class Definitions -imports: - gks.data-types: ../data-types/data-types-source.yaml $defs: Entity: @@ -48,7 +46,7 @@ $defs: type: array ordered: false items: - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + $ref: "#/$defs/Extension" description: >- A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. @@ -72,7 +70,7 @@ $defs: type: array ordered: false items: - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + $ref: "#/$defs/ConceptMapping" description: >- A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. @@ -98,7 +96,7 @@ $defs: specifiedBy: oneOf: - $ref: "#/$defs/Method" - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + - $ref: "#/$defs/IRI" description: >- A specification that describes all or part of the process that led to creation of the Information Entity @@ -126,7 +124,7 @@ $defs: items: oneOf: - $ref: "#/$defs/Document" - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + - $ref: "#/$defs/IRI" description: A document in which the the Information Entity is reported. dateAuthored: type: string @@ -171,7 +169,7 @@ $defs: default: Method description: MUST be "Method". subtype: - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" + $ref: "#/$defs/Coding" description: >- A specific type of method that a Method instance represents (e.g. 'Variant Interpretation Guideline', or 'Experimental Protocol'). @@ -207,7 +205,7 @@ $defs: default: Document description: Must be "Document" subtype: - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" + $ref: "#/$defs/Coding" description: >- A specific type of document that a Document instance represents (e.g. 'publication', 'patent', 'pathology report') @@ -273,7 +271,7 @@ $defs: Activities may use, generate, modify, move, or destroy one or more entities. heritableProperties: subtype: - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" + $ref: "#/$defs/Coding" description: >- A specific type of activity the Activity instance represents. $comment: >- @@ -328,7 +326,7 @@ $defs: If multiple Agents contributed to an entity, a separate Contribution instances MUST be created for each. activityType: - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" + $ref: "#/$defs/Coding" description: >- The specific type of activity performed or role played by an agent in making the contribution (e.g. for a publication, agents may contribute as a primary author, editor, figure designer, @@ -446,8 +444,8 @@ $defs: (supports, disputes, neutral) strengthOfEvidenceProvided: oneOf: - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + - $ref: "#/$defs/Coding" + - $ref: "#/$defs/IRI" description: >- The strength of support that an Evidence Line is determined to provide for or against its target Proposition, evaluated relative to the direction indicated by the directionOfEvidenceProvided value. @@ -580,8 +578,8 @@ $defs: values that don't commit to one or the other if they don't want to make the distinction (e.g. 'high' vs 'medium' vs 'low'). oneOf: - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + - $ref: "#/$defs/Coding" + - $ref: "#/$defs/IRI" score: type: number description: >- @@ -619,8 +617,8 @@ $defs: # using the 'subject', 'predicate', 'object', and 'qualifier' properties defined in the Statement object itself. classification: oneOf: - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + - $ref: "#/$defs/Coding" + - $ref: "#/$defs/IRI" description: >- A single term or phrase summarizing the outcome of direction and strength assessments of a Statement's proposition, in terms of a classification of @@ -678,7 +676,7 @@ $defs: default: DataSet description: MUST be "DataSet". subtype: - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" + $ref: "#/$defs/Coding" description: >- A specific type of data set the DataSet instance represents (e.g. a 'clinical data set', a 'sequencing data set', a 'gene expression data set', @@ -732,8 +730,8 @@ $defs: focus: oneOf: - $ref: "#/$defs/DomainEntity" - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" - - $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + - $ref: "#/$defs/Coding" + - $ref: "#/$defs/IRI" description: >- The specific subject or experimental unit in a Study that data in the StudyResult object is about - e.g. a particular variant in a population allele frequency dataset like ExAC or gnomAD. @@ -914,7 +912,7 @@ $defs: # description: The Entity or concept about which the Proposition is made. # predicate: # type: - # $ref: "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" + # $ref: "#/$defs/Coding" # description: The relationship asserted to hold between the subject and the object of the Proposition. # object: # type: @@ -929,3 +927,107 @@ $defs: # - subject # - predicate # - object + + + Coding: + type: object + maturity: draft + description: >- + A structured representation of a code for a defined concept in a terminology or code system. + properties: + label: + type: string + description: The human-readable name for the coded concept, as defined by the code system. + system: + type: string + description: >- + The terminology/code system that defined the code. May be reported as a free-text name + (e.g. 'Sequence Ontology'), but it is preferable to provide a uri/url for the system. + When the 'code' is reported as a CURIE, the 'system' should be reported as the uri that + the CURIE's prefix expands to (e.g. 'http://purl.obofoundry.org/so.owl/' for the + Sequence Ontology). + systemVersion: + type: string + description: Version of the terminology or code system that provided the code. + code: + $ref: '#/$defs/Code' + description: >- + A symbol uniquely identifying the concept, as in a syntax defined by the code system. + CURIE format is preferred where possible (e.g. 'SO:0000704' is the CURIE form of the + Sequence Ontology code for 'gene'). + required: + - system + - code + + ConceptMapping: + type: object + maturity: draft + description: >- + A mapping to a concept in a terminology or code system. + properties: + coding: + $ref: '#/$defs/Coding' + description: >- + A structured representation of a code for a defined concept in a terminology or code system. + relation: + description: >- + A mapping relation between concepts as defined by the Simple Knowledge Organization System (SKOS). + type: string + enum: + - closeMatch + - exactMatch + - broadMatch + - narrowMatch + - relatedMatch + required: + - relation + - coding + + Extension: + type: object + maturity: draft + description: >- + The Extension class provides entities with a means to include + additional attributes that are outside of the specified standard + but needed by a given content provider or system implementer. + These extensions are not expected to be natively understood, but + may be used for pre-negotiated exchange of message attributes + between systems. + properties: + name: + type: string + description: >- + A name for the Extension. Should be indicative of its meaning and/or the type of + information it value represents. + value: + type: [ "number", "string", "boolean", "object", "array", "null" ] + description: The value of the Extension - can be any primitive or structured object + additionalProperties: true + description: + type: string + description: >- + A description of the meaning or utility of the Extension, to explain + the type of information it is meant to hold. + required: + - name + - value + + Code: + type: string + maturity: draft + description: >- + Indicates that the value is taken from a set of controlled strings defined elsewhere. + Technically, a code is restricted to a string which has at least one character and no leading or + trailing whitespace, and where there is no whitespace other than single spaces in the contents. + pattern: '\S+( \S+)*' + example: ENSG00000139618 + + IRI: + type: string + maturity: draft + description: >- + An IRI Reference (either an IRI or a relative-reference), according to `RFC3986 section 4.1 + `_ and `RFC3987 section 2.1 + `_. MAY be a JSON Pointer as an IRI fragment, as + described by `RFC6901 section 6 `_. + format: iri-reference diff --git a/schema/data-types/def/Code.rst b/schema/core-im/def/Code.rst similarity index 100% rename from schema/data-types/def/Code.rst rename to schema/core-im/def/Code.rst diff --git a/schema/data-types/def/Coding.rst b/schema/core-im/def/Coding.rst similarity index 100% rename from schema/data-types/def/Coding.rst rename to schema/core-im/def/Coding.rst diff --git a/schema/data-types/def/ConceptMapping.rst b/schema/core-im/def/ConceptMapping.rst similarity index 100% rename from schema/data-types/def/ConceptMapping.rst rename to schema/core-im/def/ConceptMapping.rst diff --git a/schema/data-types/def/Extension.rst b/schema/core-im/def/Extension.rst similarity index 100% rename from schema/data-types/def/Extension.rst rename to schema/core-im/def/Extension.rst diff --git a/schema/data-types/def/IRI.rst b/schema/core-im/def/IRI.rst similarity index 100% rename from schema/data-types/def/IRI.rst rename to schema/core-im/def/IRI.rst diff --git a/schema/core-im/def/StudyResult.rst b/schema/core-im/def/StudyResult.rst index 8a59362..9e3de40 100644 --- a/schema/core-im/def/StudyResult.rst +++ b/schema/core-im/def/StudyResult.rst @@ -79,8 +79,8 @@ Some StudyResult attributes are inherited from :ref:`InformationEntity`. * - ancillaryResults - object - 0..1 - - + - * - qualityMeasures - object - 0..1 - - + - diff --git a/schema/core-im/json/Agent b/schema/core-im/json/Agent index 0f6487a..4d9b27d 100644 --- a/schema/core-im/json/Agent +++ b/schema/core-im/json/Agent @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." diff --git a/schema/data-types/json/Code b/schema/core-im/json/Code similarity index 86% rename from schema/data-types/json/Code rename to schema/core-im/json/Code index cb56407..00d2949 100644 --- a/schema/data-types/json/Code +++ b/schema/core-im/json/Code @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/data-types/json/Code", + "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/core-im/json/Code", "title": "Code", "type": "string", "maturity": "draft", diff --git a/schema/data-types/json/Coding b/schema/core-im/json/Coding similarity index 87% rename from schema/data-types/json/Coding rename to schema/core-im/json/Coding index cb1fe83..d4769d2 100644 --- a/schema/data-types/json/Coding +++ b/schema/core-im/json/Coding @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/data-types/json/Coding", + "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/core-im/json/Coding", "title": "Coding", "type": "object", "maturity": "draft", @@ -19,13 +19,12 @@ "description": "Version of the terminology or code system that provided the code." }, "code": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Code", + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Code", "description": "A symbol uniquely identifying the concept, as in a syntax defined by the code system. CURIE format is preferred where possible (e.g. 'SO:0000704' is the CURIE form of the Sequence Ontology code for 'gene')." } }, "required": [ "code", "system" - ], - "additionalProperties": false + ] } \ No newline at end of file diff --git a/schema/data-types/json/ConceptMapping b/schema/core-im/json/ConceptMapping similarity index 79% rename from schema/data-types/json/ConceptMapping rename to schema/core-im/json/ConceptMapping index c9308e7..006a70f 100644 --- a/schema/data-types/json/ConceptMapping +++ b/schema/core-im/json/ConceptMapping @@ -1,13 +1,13 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping", + "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping", "title": "ConceptMapping", "type": "object", "maturity": "draft", "description": "A mapping to a concept in a terminology or code system.", "properties": { "coding": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Coding", + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Coding", "description": "A structured representation of a code for a defined concept in a terminology or code system." }, "relation": { @@ -25,6 +25,5 @@ "required": [ "coding", "relation" - ], - "additionalProperties": false + ] } \ No newline at end of file diff --git a/schema/core-im/json/Contribution b/schema/core-im/json/Contribution index 362f9d3..17639c4 100644 --- a/schema/core-im/json/Contribution +++ b/schema/core-im/json/Contribution @@ -31,13 +31,13 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." }, "subtype": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Coding", + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Coding", "description": "A specific type of activity the Activity instance represents.", "$comment": "This attribute can be used to report a specific type for the Activity, in cases where a model does not define Activity subclasses for this purpose. Implementers can define their own set of data set type codes/terms, to match the needs of the domain or application." }, @@ -74,7 +74,7 @@ "$comment": "Note that this must be a single agent (which can be a Person, or an Organization). If multiple Agents contributed to an entity, a separate Contribution instances MUST be created for each." }, "activityType": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Coding", + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Coding", "description": "The specific type of activity performed or role played by an agent in making the contribution (e.g. for a publication, agents may contribute as a primary author, editor, figure designer, data generator, etc. . Values of this property may be framed as activities or as contribution roles (e.g. using terms from the Contribution Role Ontology (CRO))." } }, diff --git a/schema/core-im/json/DataSet b/schema/core-im/json/DataSet index 9eed68f..42cb1e0 100644 --- a/schema/core-im/json/DataSet +++ b/schema/core-im/json/DataSet @@ -32,7 +32,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,10 +40,10 @@ "specifiedBy": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" } ], "description": "A specification that describes all or part of the process that led to creation of the Information Entity", @@ -67,7 +67,7 @@ "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Document" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" } ] }, @@ -118,7 +118,7 @@ "description": "MUST be \"DataSet\"." }, "subtype": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Coding", + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Coding", "description": "A specific type of data set the DataSet instance represents (e.g. a 'clinical data set', a 'sequencing data set', a 'gene expression data set', a 'genome annotation data set')", "$comment": "This attribute can be used to report a specific type for the DataSet, in cases where a model does not define DataSet subclasses for this purpose. Implementers can define their own set of data set type codes/terms, to match the needs of the domain or application." }, @@ -142,4 +142,4 @@ "required": [ "type" ] -} +} \ No newline at end of file diff --git a/schema/core-im/json/Document b/schema/core-im/json/Document index 3e01157..0cab87a 100644 --- a/schema/core-im/json/Document +++ b/schema/core-im/json/Document @@ -32,7 +32,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,10 +40,10 @@ "specifiedBy": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" } ], "description": "A specification that describes all or part of the process that led to creation of the Information Entity", @@ -67,7 +67,7 @@ "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Document" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" } ] }, @@ -118,7 +118,7 @@ "description": "Must be \"Document\"" }, "subtype": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Coding", + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Coding", "description": "A specific type of document that a Document instance represents (e.g. 'publication', 'patent', 'pathology report')", "$comment": "This attribute can be used to report a specific type for the Document, in cases where a model does not define Document subclasses for this purpose. Implementers can define their own set of document type codes/terms, to match the needs of their application." }, @@ -149,4 +149,4 @@ "required": [ "type" ] -} +} \ No newline at end of file diff --git a/schema/core-im/json/EvidenceLine b/schema/core-im/json/EvidenceLine index 0349df8..bf18d39 100644 --- a/schema/core-im/json/EvidenceLine +++ b/schema/core-im/json/EvidenceLine @@ -32,7 +32,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,10 +40,10 @@ "specifiedBy": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" } ], "description": "A specification that describes all or part of the process that led to creation of the Information Entity", @@ -67,7 +67,7 @@ "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Document" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" } ] }, @@ -157,10 +157,10 @@ "strengthOfEvidenceProvided": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Coding" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Coding" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" } ], "description": "The strength of support that an Evidence Line is determined to provide for or against its target Proposition, evaluated relative to the direction indicated by the directionOfEvidenceProvided value.", @@ -174,4 +174,4 @@ "required": [ "type" ] -} +} \ No newline at end of file diff --git a/schema/data-types/json/Extension b/schema/core-im/json/Extension similarity index 91% rename from schema/data-types/json/Extension rename to schema/core-im/json/Extension index f4e1a58..14a9003 100644 --- a/schema/data-types/json/Extension +++ b/schema/core-im/json/Extension @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/data-types/json/Extension", + "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/core-im/json/Extension", "title": "Extension", "type": "object", "maturity": "draft", @@ -30,6 +30,5 @@ "required": [ "name", "value" - ], - "additionalProperties": false + ] } \ No newline at end of file diff --git a/schema/data-types/json/IRI b/schema/core-im/json/IRI similarity index 87% rename from schema/data-types/json/IRI rename to schema/core-im/json/IRI index 20bbe1e..f23e035 100644 --- a/schema/data-types/json/IRI +++ b/schema/core-im/json/IRI @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/data-types/json/IRI", + "$id": "https://w3id.org/ga4gh/schema/gks-common/1.x/core-im/json/IRI", "title": "IRI", "type": "string", "maturity": "draft", diff --git a/schema/core-im/json/Method b/schema/core-im/json/Method index f9e814f..5486de0 100644 --- a/schema/core-im/json/Method +++ b/schema/core-im/json/Method @@ -32,7 +32,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,10 +40,10 @@ "specifiedBy": { "oneOf": [ { - "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Method" } ], "description": "A specification that describes all or part of the process that led to creation of the Information Entity", @@ -67,7 +67,7 @@ "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Document" }, { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/IRI" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/IRI" } ] }, @@ -118,7 +118,7 @@ "description": "MUST be \"Method\"." }, "subtype": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Coding", + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Coding", "description": "A specific type of method that a Method instance represents (e.g. 'Variant Interpretation Guideline', or 'Experimental Protocol').", "$comment": "This attribute can be used to report a specific type for the Method, in cases where a model does not define Method subclasses for this purpose. Implementers can define their own set of method type codes/terms, to match the needs of their application." }, @@ -131,4 +131,4 @@ "required": [ "type" ] -} +} \ No newline at end of file diff --git a/schema/core-im/json/StudyGroup b/schema/core-im/json/StudyGroup index 78387b5..b0d5ed2 100644 --- a/schema/core-im/json/StudyGroup +++ b/schema/core-im/json/StudyGroup @@ -32,7 +32,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." diff --git a/schema/data-types/Makefile b/schema/data-types/Makefile deleted file mode 100644 index 7575c82..0000000 --- a/schema/data-types/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -.SECONDARY: -.DELETE_ON_ERROR: - -BUILD_DIR := build -DEF_DIR := def -JSON_DIR := json -IMPORT_DIR := import - -vpath %tag $(BUILD_DIR) -vpath %.classes $(BUILD_DIR) - -SOURCES := $(wildcard *-source.yaml) -TAGS := $(SOURCES:-source.yaml=.tag) -IMPORTS := $(wildcard $(IMPORT_DIR)/*-source.yaml) - -all: build-ordered ${TAGS} prune-tag - -build-ordered: | $(BUILD_DIR) - -$(BUILD_DIR): - mkdir $(BUILD_DIR) - -%.tag: %.classes %.json-tag %.defs-tag - touch $(BUILD_DIR)/$@ - -%.classes: %-source.yaml - source2classes $< >${BUILD_DIR}/$@ - -%.json-tag: %-source.yaml ${IMPORTS} - source2splitjs $< - touch $(BUILD_DIR)/$@ - -%.defs-tag: %-source.yaml ${IMPORTS} - y2t $< - touch $(BUILD_DIR)/$@ - -prune-tag: ${TAGS} - $(MAKE) -f prune.mk - touch $(BUILD_DIR)/$@ - -clean: - rm $(BUILD_DIR)/* - rm $(DEF_DIR)/* - rm $(JSON_DIR)/* diff --git a/schema/data-types/data-types-source.yaml b/schema/data-types/data-types-source.yaml deleted file mode 100644 index a31d90a..0000000 --- a/schema/data-types/data-types-source.yaml +++ /dev/null @@ -1,108 +0,0 @@ -$schema: "https://json-schema.org/draft/2020-12/schema" -$id: "https://w3id.org/ga4gh/schema/gks-common/1.x/data-types/data-types-source.yaml" -title: GKS Common Complex and Simple Data Type Class Definitions -strict: true - -$defs: - Coding: - type: object - maturity: draft - description: >- - A structured representation of a code for a defined concept in a terminology or code system. - properties: - label: - type: string - description: The human-readable name for the coded concept, as defined by the code system. - system: - type: string - description: >- - The terminology/code system that defined the code. May be reported as a free-text name - (e.g. 'Sequence Ontology'), but it is preferable to provide a uri/url for the system. - When the 'code' is reported as a CURIE, the 'system' should be reported as the uri that - the CURIE's prefix expands to (e.g. 'http://purl.obofoundry.org/so.owl/' for the - Sequence Ontology). - systemVersion: - type: string - description: Version of the terminology or code system that provided the code. - code: - $ref: '#/$defs/Code' - description: >- - A symbol uniquely identifying the concept, as in a syntax defined by the code system. - CURIE format is preferred where possible (e.g. 'SO:0000704' is the CURIE form of the - Sequence Ontology code for 'gene'). - required: - - system - - code - - ConceptMapping: - type: object - maturity: draft - description: >- - A mapping to a concept in a terminology or code system. - properties: - coding: - $ref: '#/$defs/Coding' - description: >- - A structured representation of a code for a defined concept in a terminology or code system. - relation: - description: >- - A mapping relation between concepts as defined by the Simple Knowledge Organization System (SKOS). - type: string - enum: - - closeMatch - - exactMatch - - broadMatch - - narrowMatch - - relatedMatch - required: - - relation - - coding - - Extension: - type: object - maturity: draft - description: >- - The Extension class provides entities with a means to include - additional attributes that are outside of the specified standard - but needed by a given content provider or system implementer. - These extensions are not expected to be natively understood, but - may be used for pre-negotiated exchange of message attributes - between systems. - properties: - name: - type: string - description: >- - A name for the Extension. Should be indicative of its meaning and/or the type of - information it value represents. - value: - type: [ "number", "string", "boolean", "object", "array", "null" ] - description: The value of the Extension - can be any primitive or structured object - additionalProperties: true - description: - type: string - description: >- - A description of the meaning or utility of the Extension, to explain - the type of information it is meant to hold. - required: - - name - - value - - Code: - type: string - maturity: draft - description: >- - Indicates that the value is taken from a set of controlled strings defined elsewhere. - Technically, a code is restricted to a string which has at least one character and no leading or - trailing whitespace, and where there is no whitespace other than single spaces in the contents. - pattern: '\S+( \S+)*' - example: ENSG00000139618 - - IRI: - type: string - maturity: draft - description: >- - An IRI Reference (either an IRI or a relative-reference), according to `RFC3986 section 4.1 - `_ and `RFC3987 section 2.1 - `_. MAY be a JSON Pointer as an IRI fragment, as - described by `RFC6901 section 6 `_. - format: iri-reference diff --git a/schema/data-types/prune.mk b/schema/data-types/prune.mk deleted file mode 100644 index 5d52ce5..0000000 --- a/schema/data-types/prune.mk +++ /dev/null @@ -1,11 +0,0 @@ -BUILD_DIR := build -SOURCES := $(wildcard *-source.yaml) -CLASS_FILTER_FILES = $(SOURCES:%-source.yaml=${BUILD_DIR}/%.classes) -FILTER_CLASSES := $(shell cat ${CLASS_FILTER_FILES}) -FILTER_JSONS = $(FILTER_CLASSES:%=json/%) -FILTER_DEFS = $(FILTER_CLASSES:%=def/%.rst) - -.DEFAULT: prune - -prune: $(filter-out ${FILTER_JSONS} ${FILTER_DEFS},$(wildcard def/* json/*)) - $(if $^,rm $^) \ No newline at end of file diff --git a/schema/domain-entities/def/CombinationTherapy.rst b/schema/domain-entities/def/CombinationTherapy.rst index 7c04414..7941045 100644 --- a/schema/domain-entities/def/CombinationTherapy.rst +++ b/schema/domain-entities/def/CombinationTherapy.rst @@ -33,11 +33,11 @@ Some CombinationTherapy attributes are inherited from :ref:`gks.core-im:DomainEn - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. * - type diff --git a/schema/domain-entities/def/Disease.rst b/schema/domain-entities/def/Disease.rst index 1811695..10c7000 100644 --- a/schema/domain-entities/def/Disease.rst +++ b/schema/domain-entities/def/Disease.rst @@ -33,11 +33,11 @@ Some Disease attributes are inherited from :ref:`gks.core-im:DomainEntity`. - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. * - type diff --git a/schema/domain-entities/def/Gene.rst b/schema/domain-entities/def/Gene.rst index f1799db..e1b4809 100644 --- a/schema/domain-entities/def/Gene.rst +++ b/schema/domain-entities/def/Gene.rst @@ -37,10 +37,10 @@ Some Gene attributes are inherited from :ref:`gks.core-im:DomainEntity`. - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. diff --git a/schema/domain-entities/def/Phenotype.rst b/schema/domain-entities/def/Phenotype.rst index 3f92f90..cd60292 100644 --- a/schema/domain-entities/def/Phenotype.rst +++ b/schema/domain-entities/def/Phenotype.rst @@ -33,11 +33,11 @@ Some Phenotype attributes are inherited from :ref:`gks.core-im:DomainEntity`. - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. * - type diff --git a/schema/domain-entities/def/TherapeuticAction.rst b/schema/domain-entities/def/TherapeuticAction.rst index 28d3a4d..04c6e51 100644 --- a/schema/domain-entities/def/TherapeuticAction.rst +++ b/schema/domain-entities/def/TherapeuticAction.rst @@ -33,11 +33,11 @@ Some TherapeuticAction attributes are inherited from :ref:`gks.core-im:DomainEnt - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. * - type diff --git a/schema/domain-entities/def/TherapeuticAgent.rst b/schema/domain-entities/def/TherapeuticAgent.rst index 77ca5c0..a515e54 100644 --- a/schema/domain-entities/def/TherapeuticAgent.rst +++ b/schema/domain-entities/def/TherapeuticAgent.rst @@ -33,11 +33,11 @@ Some TherapeuticAgent attributes are inherited from :ref:`gks.core-im:DomainEnti - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. * - type diff --git a/schema/domain-entities/def/TherapeuticSubstituteGroup.rst b/schema/domain-entities/def/TherapeuticSubstituteGroup.rst index d5a1b28..956e48b 100644 --- a/schema/domain-entities/def/TherapeuticSubstituteGroup.rst +++ b/schema/domain-entities/def/TherapeuticSubstituteGroup.rst @@ -33,11 +33,11 @@ Some TherapeuticSubstituteGroup attributes are inherited from :ref:`gks.core-im: - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. * - type diff --git a/schema/domain-entities/def/TraitSet.rst b/schema/domain-entities/def/TraitSet.rst index 7032931..bb1d643 100644 --- a/schema/domain-entities/def/TraitSet.rst +++ b/schema/domain-entities/def/TraitSet.rst @@ -33,11 +33,11 @@ Some TraitSet attributes are inherited from :ref:`gks.core-im:DomainEntity`. - 0..m - Alternative name(s) for the Entity. * - extensions - - `Extension `_ + - :ref:`Extension` - 0..m - A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model. * - mappings - - `ConceptMapping `_ + - :ref:`ConceptMapping` - 0..m - A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation. * - type diff --git a/schema/domain-entities/domain-entities-source.yaml b/schema/domain-entities/domain-entities-source.yaml index 1f21a0c..7c31687 100644 --- a/schema/domain-entities/domain-entities-source.yaml +++ b/schema/domain-entities/domain-entities-source.yaml @@ -5,7 +5,6 @@ strict: true imports: gks.core-im: ../core-im/core-im-source.yaml - gks.data-types: ../data-types/data-types-source.yaml $defs: diff --git a/schema/domain-entities/json/CombinationTherapy b/schema/domain-entities/json/CombinationTherapy index 1e669d8..ad6ef44 100644 --- a/schema/domain-entities/json/CombinationTherapy +++ b/schema/domain-entities/json/CombinationTherapy @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, diff --git a/schema/domain-entities/json/Disease b/schema/domain-entities/json/Disease index c96dad1..446c7b2 100644 --- a/schema/domain-entities/json/Disease +++ b/schema/domain-entities/json/Disease @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, diff --git a/schema/domain-entities/json/Gene b/schema/domain-entities/json/Gene index a3c72b7..dc8cfef 100644 --- a/schema/domain-entities/json/Gene +++ b/schema/domain-entities/json/Gene @@ -37,7 +37,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -46,7 +46,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." } diff --git a/schema/domain-entities/json/Phenotype b/schema/domain-entities/json/Phenotype index a79df78..2ad5a45 100644 --- a/schema/domain-entities/json/Phenotype +++ b/schema/domain-entities/json/Phenotype @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, diff --git a/schema/domain-entities/json/TherapeuticAction b/schema/domain-entities/json/TherapeuticAction index ef27ba2..c532374 100644 --- a/schema/domain-entities/json/TherapeuticAction +++ b/schema/domain-entities/json/TherapeuticAction @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, diff --git a/schema/domain-entities/json/TherapeuticAgent b/schema/domain-entities/json/TherapeuticAgent index 93e0ea3..f354dbe 100644 --- a/schema/domain-entities/json/TherapeuticAgent +++ b/schema/domain-entities/json/TherapeuticAgent @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, diff --git a/schema/domain-entities/json/TherapeuticSubstituteGroup b/schema/domain-entities/json/TherapeuticSubstituteGroup index 8d78057..e72bec5 100644 --- a/schema/domain-entities/json/TherapeuticSubstituteGroup +++ b/schema/domain-entities/json/TherapeuticSubstituteGroup @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, diff --git a/schema/domain-entities/json/TraitSet b/schema/domain-entities/json/TraitSet index 36ccc4a..5c28132 100644 --- a/schema/domain-entities/json/TraitSet +++ b/schema/domain-entities/json/TraitSet @@ -31,7 +31,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/Extension" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/Extension" }, "description": "A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.", "$comment": "Extension objects have a key-value data structure that allows definition of custom fields in the data itself. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems." @@ -40,7 +40,7 @@ "type": "array", "ordered": false, "items": { - "$ref": "/ga4gh/schema/gks-common/1.x/data-types/json/ConceptMapping" + "$ref": "/ga4gh/schema/gks-common/1.x/core-im/json/ConceptMapping" }, "description": "A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation." }, diff --git a/tests/test_definitions.yaml b/tests/test_definitions.yaml index 2da9fed..8c96e77 100644 --- a/tests/test_definitions.yaml +++ b/tests/test_definitions.yaml @@ -1,5 +1,5 @@ tests: -- test_file: data-types/coding.yaml +- test_file: core-im/coding.yaml description: simple coding example schema: data-types definition: Coding