From 763c53f5e656bb5c47d99fe893a2bc60bae70b8c Mon Sep 17 00:00:00 2001 From: Deepak Unni Date: Wed, 16 Jun 2021 00:37:21 +0000 Subject: [PATCH] Regenerate artifacts from biolink-model.yaml --- biolink-model.owl.ttl | 766 +++++++++---------- biolink-model.ttl | 1634 ++++++++++++++++++----------------------- biolink/model.py | 1551 ++++++++++++++++++-------------------- context.jsonld | 2 +- contextn.jsonld | 2 +- 5 files changed, 1839 insertions(+), 2116 deletions(-) diff --git a/biolink-model.owl.ttl b/biolink-model.owl.ttl index 7ffdf012b8..853ee89e71 100644 --- a/biolink-model.owl.ttl +++ b/biolink-model.owl.ttl @@ -11,11 +11,11 @@ rdfs:label "Biolink-Model" ; dcterms:license "https://creativecommons.org/publicdomain/zero/1.0/" ; skos:definition "Entity and association taxonomy and datamodel for life-sciences data" ; - linkml:generation_date "2021-06-16 00:19" ; + linkml:generation_date "2021-06-16 00:32" ; linkml:metamodel_version "1.7.0" ; linkml:source_file "biolink-model.yaml" ; - linkml:source_file_date "Wed Jun 16 00:18:09 2021" ; - linkml:source_file_size 301803 . + linkml:source_file_date "Wed Jun 16 00:30:40 2021" ; + linkml:source_file_size 301802 . a owl:Class, linkml:ClassDefinition ; @@ -78,16 +78,16 @@ rdfs:label "case to phenotypic feature association" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -175,14 +175,6 @@ linkml:ClassDefinition ; rdfs:label "disease to phenotypic feature association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], @@ -190,6 +182,14 @@ owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], , , ; @@ -311,13 +311,13 @@ rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], - [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], , , , @@ -1462,8 +1462,8 @@ linkml:disease_or_phenotypic_feature_to_entity_association_mixin_subject a owl:O rdfs:range ; rdfs:subPropertyOf ; skos:definition "disease or phenotype" ; - linkml:examples "{'value': 'MONDO:0017314', 'description': 'Ehlers-Danlos syndrome, vascular type'}", - "{'value': 'MP:0013229', 'description': 'abnormal brain ventricle size'}" . + linkml:examples "Example(value='MONDO:0017314', description='Ehlers-Danlos syndrome, vascular type')", + "Example(value='MP:0013229', description='abnormal brain ventricle size')" . linkml:disease_or_phenotypic_feature_to_location_association_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1472,7 +1472,7 @@ linkml:disease_or_phenotypic_feature_to_location_association_object a owl:Object rdfs:range ; rdfs:subPropertyOf ; skos:definition "anatomical entity in which the disease or feature is found." ; - linkml:examples "{'value': 'UBERON:0002048', 'description': 'lung'}" . + linkml:examples "Example(value='UBERON:0002048', description='lung')" . linkml:disease_to_entity_association_mixin_subject a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1481,7 +1481,7 @@ linkml:disease_to_entity_association_mixin_subject a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "disease class" ; - linkml:examples "{'value': 'MONDO:0017314', 'description': 'Ehlers-Danlos syndrome, vascular type'}" . + linkml:examples "Example(value='MONDO:0017314', description='Ehlers-Danlos syndrome, vascular type')" . linkml:drug_to_entity_association_mixin_subject a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1506,7 +1506,7 @@ linkml:entity_to_disease_association_mixin_object a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "disease" ; - linkml:examples "{'value': 'MONDO:0020066', 'description': 'Ehlers-Danlos syndrome'}" . + linkml:examples "Example(value='MONDO:0020066', description='Ehlers-Danlos syndrome')" . linkml:entity_to_disease_or_phenotypic_feature_association_mixin_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1515,8 +1515,8 @@ linkml:entity_to_disease_or_phenotypic_feature_association_mixin_object a owl:Ob rdfs:range ; rdfs:subPropertyOf ; skos:definition "disease or phenotype" ; - linkml:examples "{'value': 'MONDO:0017314', 'description': 'Ehlers-Danlos syndrome, vascular type'}", - "{'value': 'MP:0013229', 'description': 'abnormal brain ventricle size'}" . + linkml:examples "Example(value='MONDO:0017314', description='Ehlers-Danlos syndrome, vascular type')", + "Example(value='MP:0013229', description='abnormal brain ventricle size')" . linkml:entity_to_exposure_event_association_mixin_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1547,9 +1547,9 @@ linkml:entity_to_phenotypic_feature_association_mixin_object a owl:ObjectPropert rdfs:range ; rdfs:subPropertyOf ; skos:definition "phenotypic class" ; - linkml:examples "{'value': 'HP:0002487', 'description': 'Hyperkinesis'}", - "{'value': 'MP:0001569', 'description': 'abnormal circulating bilirubin level'}", - "{'value': 'WBPhenotype:0000180', 'description': 'axon morphology variant'}" . + linkml:examples "Example(value='HP:0002487', description='Hyperkinesis')", + "Example(value='MP:0001569', description='abnormal circulating bilirubin level')", + "Example(value='WBPhenotype:0000180', description='axon morphology variant')" . linkml:exon_to_transcript_relationship_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1640,7 +1640,7 @@ linkml:gene_to_expression_site_association_object a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "location in which the gene is expressed" ; - linkml:examples "{'value': 'UBERON:0002037', 'description': 'cerebellum'}" . + linkml:examples "Example(value='UBERON:0002037', description='cerebellum')" . linkml:gene_to_expression_site_association_predicate a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1665,7 +1665,7 @@ linkml:gene_to_expression_site_association_stage_qualifier a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "stage at which the gene is expressed in the site" ; - linkml:examples "{'value': 'UBERON:0000069', 'description': 'larval stage'}" . + linkml:examples "Example(value='UBERON:0000069', description='larval stage')" . linkml:gene_to_expression_site_association_subject a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1720,7 +1720,7 @@ linkml:gene_to_go_term_association_object a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf linkml:functional_association_object ; skos:definition "class describing the activity, process or localization of the gene product" ; - linkml:examples "{'value': 'GO:0016301', 'description': 'kinase activity'}" . + linkml:examples "Example(value='GO:0016301', description='kinase activity')" . linkml:gene_to_go_term_association_subject a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1729,7 +1729,7 @@ linkml:gene_to_go_term_association_subject a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf linkml:functional_association_subject ; skos:definition "gene, product or macromolecular complex that has the function associated with the GO term" ; - linkml:examples "{'value': 'ZFIN:ZDB-GENE-050417-357', 'description': 'twist1b'}" . + linkml:examples "Example(value='ZFIN:ZDB-GENE-050417-357', description='twist1b')" . linkml:gene_to_phenotypic_feature_association_subject a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1738,7 +1738,7 @@ linkml:gene_to_phenotypic_feature_association_subject a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "gene in which variation is correlated with the phenotypic feature" ; - linkml:examples "{'value': 'HGNC:2197', 'description': 'COL1A1 (Human)'}" . + linkml:examples "Example(value='HGNC:2197', description='COL1A1 (Human)')" . linkml:genomic_sequence_localization_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1776,7 +1776,7 @@ linkml:genotype_to_disease_association_object a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "a disease that is associated with that genotype" ; - linkml:examples "{'value': 'MONDO:0016419', 'description': 'hereditary breast cancer'}" . + linkml:examples "Example(value='MONDO:0016419', description='hereditary breast cancer')" . linkml:genotype_to_disease_association_predicate a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2163,7 +2163,7 @@ linkml:pairwise_molecular_interaction_id a owl:ObjectProperty, rdfs:range linkml:String ; rdfs:subPropertyOf ; skos:definition "identifier for the interaction. This may come from an interaction database such as IMEX." ; - linkml:examples "{'value': 'WB:WBInteraction000538741', 'description': None}" . + linkml:examples "Example(value='WB:WBInteraction000538741', description=None)" . linkml:pairwise_molecular_interaction_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2186,7 +2186,7 @@ linkml:pairwise_molecular_interaction_relation a owl:ObjectProperty, rdfs:range linkml:Uriorcurie ; rdfs:subPropertyOf linkml:pairwise_gene_to_gene_interaction_relation ; skos:definition "interaction relationship type" ; - linkml:examples "{'value': 'RO:0002447', 'description': 'the subject molecular phosphorylates the object molecule'}" . + linkml:examples "Example(value='RO:0002447', description='the subject molecular phosphorylates the object molecule')" . linkml:pairwise_molecular_interaction_subject a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2271,8 +2271,8 @@ linkml:sequence_variant_id a owl:ObjectProperty, rdfs:domain ; rdfs:range linkml:String ; rdfs:subPropertyOf ; - linkml:examples "{'value': 'ClinVarVariant:17681', 'description': 'NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)'}", - "{'value': 'ZFIN:ZDB-ALT-980203-1091', 'description': 'ti282a allele from ZFIN'}" . + linkml:examples "Example(value='ClinVarVariant:17681', description='NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)')", + "Example(value='ZFIN:ZDB-ALT-980203-1091', description='ti282a allele from ZFIN')" . linkml:sequence_variant_modulates_treatment_association_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2312,7 +2312,7 @@ linkml:small_molecule_id a owl:ObjectProperty, rdfs:domain ; rdfs:range linkml:String ; rdfs:subPropertyOf ; - linkml:examples "{'value': 'CHEBI:29101', 'description': 'sodium ion'}" . + linkml:examples "Example(value='CHEBI:29101', description='sodium ion')" . linkml:socioeconomic_exposure_has_attribute a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2372,7 +2372,7 @@ linkml:variant_to_disease_association_object a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "a disease that is associated with that variant" ; - linkml:examples "{'value': 'MONDO:0016419', 'description': 'hereditary breast cancer'}" . + linkml:examples "Example(value='MONDO:0016419', description='hereditary breast cancer')" . linkml:variant_to_disease_association_predicate a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2389,8 +2389,8 @@ linkml:variant_to_entity_association_mixin_subject a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "a sequence variant in which the allele state is associated with some other entity" ; - linkml:examples "{'value': 'ClinGen:CA024716', 'description': 'chr13:g.32921033G>C (hg19) in ClinGen'}", - "{'value': 'ClinVar:38077', 'description': 'ClinVar representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)'}" . + linkml:examples "Example(value='ClinGen:CA024716', description='chr13:g.32921033G>C (hg19) in ClinGen')", + "Example(value='ClinVar:38077', description='ClinVar representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)')" . linkml:variant_to_gene_association_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2421,7 +2421,7 @@ linkml:variant_to_population_association_has_count a owl:ObjectProperty, rdfs:range linkml:Integer ; rdfs:subPropertyOf ; skos:definition "number in object population that carry a particular allele, aka allele count" ; - linkml:examples "{'value': '4', 'description': '4 individuals in gnomad set'}" . + linkml:examples "Example(value='4', description='4 individuals in gnomad set')" . linkml:variant_to_population_association_has_quotient a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2430,7 +2430,7 @@ linkml:variant_to_population_association_has_quotient a owl:ObjectProperty, rdfs:range linkml:Double ; rdfs:subPropertyOf ; skos:definition "frequency of allele in population, expressed as a number with allele divided by number in reference population, aka allele frequency" ; - linkml:examples "{'value': '0.0001666', 'description': None}" . + linkml:examples "Example(value='0.0001666', description=None)" . linkml:variant_to_population_association_has_total a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2439,7 +2439,7 @@ linkml:variant_to_population_association_has_total a owl:ObjectProperty, rdfs:range linkml:Integer ; rdfs:subPropertyOf ; skos:definition "number all populations that carry a particular allele, aka allele number" ; - linkml:examples "{'value': '24014', 'description': '24014 individuals in gnomad set'}" . + linkml:examples "Example(value='24014', description='24014 individuals in gnomad set')" . linkml:variant_to_population_association_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2448,7 +2448,7 @@ linkml:variant_to_population_association_object a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "the population that is observed to have the frequency" ; - linkml:examples "{'value': 'HANCESTRO:0010', 'description': 'African'}" . + linkml:examples "Example(value='HANCESTRO:0010', description='African')" . linkml:variant_to_population_association_subject a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2457,7 +2457,7 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "an allele that has a certain frequency in a given population" ; - linkml:examples "{'value': 'NC_000017.11:g.43051071A>T', 'description': '17:41203088 A/C in gnomad'}" . + linkml:examples "Example(value='NC_000017.11:g.43051071A>T', description='17:41203088 A/C in gnomad')" . a owl:Class, linkml:ClassDefinition ; @@ -2468,21 +2468,21 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "cell line as a model of disease association" ; rdfs:subClassOf [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], , , . @@ -2666,25 +2666,25 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "exposure event to phenotypic feature association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], , ; skos:definition "Any association between an environment and a phenotypic feature, where being in the environment influences the phenotype." . @@ -2696,6 +2696,10 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Double ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Double ; @@ -2704,10 +2708,6 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Double ; - owl:onProperty ], , linkml:mixin . @@ -2740,8 +2740,12 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, rdfs:label "gene to gene coexpression association" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; @@ -2752,12 +2756,8 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], , ; skos:definition "Indicates that two genes are co-expressed, generally under the same conditions." . @@ -2777,24 +2777,24 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, rdfs:label "gene to phenotypic feature association" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], , , ; @@ -2867,17 +2867,17 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "organismal entity as a model of disease association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -3006,14 +3006,6 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -3022,6 +3014,14 @@ linkml:variant_to_population_association_subject a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], , , . @@ -5069,7 +5069,7 @@ linkml:functional_association_subject a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "gene, product or macromolecular complex mixin that has the function associated with the GO term" ; - linkml:examples "{'value': 'ZFIN:ZDB-GENE-050417-357', 'description': 'twist1b'}" . + linkml:examples "Example(value='ZFIN:ZDB-GENE-050417-357', description='twist1b')" . linkml:gene_to_gene_association_object a owl:ObjectProperty, linkml:SlotDefinition ; @@ -5118,7 +5118,7 @@ linkml:variant_to_disease_association_subject a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "a sequence variant in which the allele state is associated in some way with the disease state" ; - linkml:examples "{'value': 'ClinVar:52241', 'description': 'NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)'}" . + linkml:examples "Example(value='ClinVar:52241', description='NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)')" . linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:SlotDefinition ; @@ -5147,10 +5147,6 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; @@ -5159,35 +5155,39 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty ], + [ a owl:Restriction ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], . a owl:Class, linkml:ClassDefinition ; rdfs:label "behavior to behavioral feature association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], , ; skos:definition "An association between an mixture behavior and a behavioral feature manifested by the individual exhibited or has exhibited the behavior." . @@ -5359,13 +5359,13 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "exon to transcript relationship" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "A transcript is formed from multiple exons" . @@ -5400,13 +5400,13 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "gene to go term association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:altLabel "functional association" ; skos:exactMatch . @@ -5415,29 +5415,29 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "genotype to phenotypic feature association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], , , ; @@ -5449,11 +5449,11 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Float ; - owl:onProperty ], + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Float ; - owl:onProperty ], + owl:onProperty ], ; skos:definition "a location that can be described in lat/long coordinates" ; skos:exactMatch , @@ -5539,11 +5539,11 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "RNA product" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], - [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], , ; skos:exactMatch , @@ -5553,21 +5553,21 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "reaction to participant association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], . a owl:Class, @@ -5589,6 +5589,14 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "serial" ; rdfs:subClassOf [ a owl:Restriction ; + owl:onClass linkml:String ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass linkml:String ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty ], @@ -5600,14 +5608,6 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], ; skos:altLabel "journal" ; skos:definition "This class may rarely be instantiated except if use cases of a given knowledge graph support its utility." . @@ -5621,13 +5621,13 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "transcript to gene relationship" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "A gene is a collection of transcripts" . @@ -5637,6 +5637,9 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -5644,9 +5647,6 @@ linkml:variant_to_gene_association_predicate a owl:ObjectProperty, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], - [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], , , ; @@ -5945,16 +5945,16 @@ linkml:publication_type a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "anatomical entity to anatomical entity ontogenic association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; + owl:onClass ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; + owl:onClass ; + owl:onProperty ; owl:qualifiedCardinality 1 ], ; skos:definition "A relationship between two anatomical entities where the relationship is ontogenic, i.e. the two entities are related by development. A number of different relationship types can be used to specify the precise nature of the relationship." . @@ -5968,11 +5968,11 @@ linkml:publication_type a owl:ObjectProperty, owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], ; skos:definition "A relationship between two anatomical entities where the relationship is mereological, i.e the two entities are related by parthood. This includes relationships between cellular components and cells, between cells and tissues, tissues and whole organisms" . @@ -6027,11 +6027,11 @@ linkml:publication_type a owl:ObjectProperty, rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty ], + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty ], + owl:onProperty ], ; skos:definition "an item that holds summary level information about a dataset." . @@ -6051,10 +6051,6 @@ linkml:publication_type a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -6063,6 +6059,10 @@ linkml:publication_type a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], linkml:mixin ; skos:definition "Observed gene expression intensity, context (site, stage) and associated phenotypic status within which the expression occurs." . @@ -6082,14 +6082,14 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "A regulatory relationship between two genes" . @@ -6100,6 +6100,10 @@ linkml:publication_type a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -6108,10 +6112,6 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], , , ; @@ -6158,10 +6158,6 @@ linkml:publication_type a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "genotype to gene association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], @@ -6169,6 +6165,10 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "Any association between a genotype and a gene. The genotype have have multiple variants in that gene or a single one. There is no assumption of cardinality" . @@ -6177,11 +6177,11 @@ linkml:publication_type a owl:ObjectProperty, rdfs:label "genotype to genotype part association" ; rdfs:subClassOf [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; @@ -6194,10 +6194,6 @@ linkml:publication_type a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "genotype to variant association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], @@ -6205,6 +6201,10 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "Any association between a genotype and a sequence variant." . @@ -6212,10 +6212,6 @@ linkml:publication_type a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "material sample derivation association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], @@ -6223,6 +6219,10 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "An association between a material sample and the material entity from which it is derived." . @@ -6233,14 +6233,14 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "association between a named thing and a information content entity where the specific context of the relationship between that named thing and the publication is unknown. For example, model organisms databases often capture the knowledge that a gene is found in a journal article, but not specifically the context in which that gene was documented in the article. In these cases, this association with the accompanying predicate 'mentions' could be used. Conversely, for more specific associations (like 'gene to disease association', the publication should be captured as an edge property)." . @@ -6279,14 +6279,14 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "A child-parent relationship between two taxa. For example: Homo sapiens subclass_of Homo" . @@ -6294,10 +6294,6 @@ linkml:publication_type a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "organism to organism association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass linkml:Uriorcurie ; owl:onProperty ; owl:qualifiedCardinality 1 ], @@ -6305,19 +6301,23 @@ linkml:publication_type a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], . a owl:Class, linkml:ClassDefinition ; rdfs:label "pairwise gene to gene interaction" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "An interaction between two genes or two gene products. May be physical (e.g. protein binding) or genetic (between genes). May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)" . @@ -6340,7 +6340,7 @@ linkml:publication_type a owl:ObjectProperty, rdfs:label "population to population association" ; rdfs:subClassOf [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; @@ -6348,7 +6348,7 @@ linkml:publication_type a owl:ObjectProperty, owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], ; skos:definition "An association between a two populations" . @@ -6388,16 +6388,16 @@ linkml:publication_type a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "taxon to taxon association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty ; + owl:onClass ; + owl:onProperty ; owl:qualifiedCardinality 1 ], . @@ -6687,7 +6687,7 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, rdfs:label "chemical to chemical derivation association" ; rdfs:subClassOf [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; @@ -6698,7 +6698,7 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, owl:onProperty ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], ; skos:definition """A causal relationship between two chemical entities, where the subject represents the upstream entity and the object represents the downstream. For any such association there is an implicit reaction: @@ -6714,20 +6714,20 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "contributor association" ; rdfs:subClassOf [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], + owl:allValuesFrom ; + owl:onProperty ], ; skos:definition "Any association between an entity (such as a publication) and various agents that contribute to its realisation" . @@ -6735,6 +6735,10 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "dataset version" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], @@ -6742,10 +6746,6 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], ; skos:definition "an item that holds version level information about a dataset." . @@ -6753,27 +6753,27 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "entity" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty ], [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], + [ a owl:Restriction ; + owl:onClass linkml:String ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty ], [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], @@ -6782,9 +6782,9 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, owl:onClass ; owl:onProperty ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ] ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ] ; skos:definition "Root Biolink Model class for all things and informational relationships, real or imagined." . a owl:Class, @@ -6807,29 +6807,29 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "genotype to disease association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], , , ; @@ -6869,11 +6869,11 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, rdfs:label "organism taxon to organism taxon association" ; rdfs:subClassOf [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], , ; @@ -6883,14 +6883,6 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "organism taxon to organism taxon interaction" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], @@ -6898,6 +6890,14 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "An interaction relationship between two taxa. This may be a symbiotic relationship (encompassing mutualism and parasitism), or it may be non-symbiotic. Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens" . @@ -6937,10 +6937,6 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; @@ -6953,6 +6949,10 @@ linkml:sequence_feature_relationship_subject a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], , , ; @@ -7075,8 +7075,8 @@ linkml:functional_association_object a owl:ObjectProperty, rdfs:range ; rdfs:subPropertyOf ; skos:definition "class describing the activity, process or localization of the gene product" ; - linkml:examples "{'value': 'GO:0016301', 'description': 'kinase activity'}", - "{'value': 'GO:0045211', 'description': 'postsynaptic membrane'}" . + linkml:examples "Example(value='GO:0016301', description='kinase activity')", + "Example(value='GO:0045211', description='postsynaptic membrane')" . a owl:Class, linkml:TypeDefinition ; @@ -7108,9 +7108,17 @@ linkml:functional_association_object a owl:ObjectProperty, rdfs:label "gene to expression site association" ; rdfs:seeAlso "https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee" ; rdfs:subClassOf [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; @@ -7119,14 +7127,6 @@ linkml:functional_association_object a owl:ObjectProperty, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], ; skos:definition "An association between a gene and an expression site, possibly qualified by stage/timing info." ; skos:editorialNote "TBD: introduce subclasses for distinction between wild-type and experimental conditions?" . @@ -7179,28 +7179,28 @@ linkml:functional_association_object a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "pairwise molecular interaction" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty ; + owl:onClass linkml:String ; + owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], ; skos:definition "An interaction at the molecular level between two physical entities" . @@ -7210,11 +7210,11 @@ linkml:functional_association_object a owl:ObjectProperty, rdfs:label "sequence feature relationship" ; rdfs:subClassOf [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], ; skos:definition "For example, a particular exon is part of a particular transcript or gene" ; @@ -7233,21 +7233,13 @@ linkml:functional_association_object a owl:ObjectProperty, linkml:ClassDefinition ; rdfs:label "variant to population association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass linkml:Double ; + owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Double ; - owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; @@ -7255,11 +7247,19 @@ linkml:functional_association_object a owl:ObjectProperty, [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Double ; - owl:onProperty ], + owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], , , , @@ -7529,13 +7529,13 @@ linkml:Boolean a owl:Class, linkml:ClassDefinition ; rdfs:label "functional association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "An association between a macromolecular machine mixin (gene, gene product or complex of gene products) and either a molecular activity, a biological process or a cellular location in which a function is executed." . @@ -7646,13 +7646,13 @@ linkml:Float a owl:Class, linkml:ClassDefinition ; rdfs:label "model to disease association mixin" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], linkml:mixin ; skos:definition "This mixin is used for any association class for which the subject (source node) plays the role of a 'model', in that it recapitulates some features of the disease in a way that is useful for studying the disease outside a patient carrying the disease" . @@ -7740,6 +7740,10 @@ linkml:Float a owl:Class, linkml:ClassDefinition ; rdfs:label "entity to phenotypic feature association mixin" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], @@ -7747,10 +7751,6 @@ linkml:Float a owl:Class, owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], , linkml:mixin . @@ -7835,16 +7835,16 @@ linkml:Double a owl:Class, linkml:ClassDefinition ; rdfs:label "agent" ; rdfs:subClassOf [ a owl:Restriction ; + owl:onClass linkml:String ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -7880,14 +7880,14 @@ linkml:Double a owl:Class, linkml:ClassDefinition ; rdfs:label "biological process or activity" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], - [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], , , ; @@ -7897,37 +7897,37 @@ linkml:Double a owl:Class, linkml:ClassDefinition ; rdfs:label "genomic sequence localization" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], - [ a owl:Restriction ; owl:onClass ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], ; skos:definition "A relationship between a sequence feature and a nucleic acid entity it is localized to. The reference entity may be a chromosome, chromosome region or information entity such as a contig." . @@ -7974,13 +7974,12 @@ linkml:Double a owl:Class, linkml:ClassDefinition ; rdfs:label "attribute" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], + owl:allValuesFrom ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; @@ -7991,11 +7990,12 @@ linkml:Double a owl:Class, owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ], [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], , ; skos:definition "A property or characteristic of an entity. For example, an apple may have properties such as color, shape, age, crispiness. An environmental sample may have attributes such as depth, lat, long, material." ; @@ -8005,12 +8005,12 @@ linkml:Double a owl:Class, linkml:ClassDefinition ; rdfs:label "genotype" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], , , ; @@ -8194,29 +8194,29 @@ linkml:Uriorcurie a owl:Class, owl:onClass ; owl:onProperty ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], + owl:allValuesFrom ; + owl:onProperty ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty ], + owl:onProperty ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty ], [ a owl:Restriction ; owl:onClass linkml:String ; - owl:onProperty ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], + owl:allValuesFrom linkml:String ; + owl:onProperty ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty ], + owl:onProperty ; + owl:qualifiedCardinality 1 ], ; skos:definition "Any published piece of information. Can refer to a whole publication, its encompassing publication (i.e. journal or book) or to a part of a publication, if of significant knowledge scope (e.g. a figure, figure legend, or section highlighted by NLP). The scope is intended to be general and include information published on the web, as well as printed materials, either directly or in one of the Publication Biolink category subclasses." ; skos:exactMatch IAO:0000311 ; @@ -8279,16 +8279,16 @@ linkml:TypeDefinition a owl:Class ; linkml:ClassDefinition ; rdfs:label "sequence variant" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass ; + owl:onProperty ], + [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:onClass linkml:String ; owl:onProperty ; owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass ; - owl:onProperty ], ; skos:altLabel "allele" ; skos:broadMatch ; @@ -8323,12 +8323,12 @@ linkml:TypeDefinition a owl:Class ; linkml:ClassDefinition ; rdfs:label "organism taxon" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass ; owl:onProperty linkml:has_taxonomic_rank ], - [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], ; skos:altLabel "taxon", "taxonomic classification" ; @@ -8464,20 +8464,31 @@ linkml:TypeDefinition a owl:Class ; linkml:ClassDefinition ; rdfs:label "association" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; + owl:onClass ; + owl:onProperty ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], + [ a owl:Restriction ; + owl:onClass ; + owl:onProperty ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:allValuesFrom ; + owl:onProperty ], [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], @@ -8485,17 +8496,6 @@ linkml:TypeDefinition a owl:Class ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; owl:onProperty ], - [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:allValuesFrom ; - owl:onProperty ], - [ a owl:Restriction ; - owl:onClass ; - owl:onProperty ; - owl:qualifiedCardinality 1 ], ; skos:definition "A typed association between two entities, supported by evidence" ; skos:exactMatch , diff --git a/biolink-model.ttl b/biolink-model.ttl index dafe3391c5..c8ab12c2f4 100644 --- a/biolink-model.ttl +++ b/biolink-model.ttl @@ -287,208 +287,208 @@ , , ; - linkml:generation_date "2021-06-16 00:20"^^xsd:dateTime ; + linkml:generation_date "2021-06-16 00:33"^^xsd:dateTime ; linkml:id ; linkml:imports linkml:types ; linkml:metamodel_version "1.7.0" ; - linkml:prefixes [ linkml:prefix_prefix "UBERON_CORE" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "hetio" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "gff3" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "OBOREL" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "doi" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "MetaCyc" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "WIKIDATA" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "INO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "UMLSSG" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "GOP" ; - linkml:prefix_reference ], + linkml:prefixes [ linkml:prefix_prefix "MI" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "dcat" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "PHAROS" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "EDAM-FORMAT" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "SIO" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "prov" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "schema" ; - linkml:prefix_reference schema: ], - [ linkml:prefix_prefix "PDQ" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "HsapDv" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "Aeolus" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "UMLSSC" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "CID" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "CPT" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "OBAN" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "gpi" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ECTO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "KEGG.RCLASS" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "alliancegenome" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "MSigDB" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "GOREL" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "RXCUI" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "DGIdb" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "GOP" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "foaf" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "SNPEFF" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "WBVocab" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "GOREL" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "WIKIDATA" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "REPODB" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "KEGG.RCLASS" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "KEGG.BRITE" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "gtpo" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "NLMID" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "KEGG.GENE" ; + [ linkml:prefix_prefix "KEGG.ENZYME" ; linkml:prefix_reference ], + [ linkml:prefix_prefix "issn" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "WIKIDATA_PROPERTY" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "GSID" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "pav" ; - linkml:prefix_reference pav: ], - [ linkml:prefix_prefix "GTOPDB" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "chembio" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "CTD" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ExO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "EDAM-FORMAT" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "RXNORM" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ORPHA" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "COAR_RESOURCE" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "GAMMA" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "UMLSSG" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "VMC" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "KEGG.DGROUP" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "NDDF" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "NCBIGene" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "VANDF" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ResearchID" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "wgs" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "WIKIDATA_PROPERTY" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "foodb.compound" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "isbn" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "CHEMBL.MECHANISM" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "UBERGRAPH" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "biolink" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ICD10" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "CHADO" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "OBOREL" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "EDAM-TOPIC" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "gff3" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "alliancegenome" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "MetaCyc" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "KEGG.GENE" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "GTOPDB" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "interpro" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "medgen" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "VMC" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "REPODB" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "EFO" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "EDAM-DATA" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ChemBank" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "pav" ; + linkml:prefix_reference pav: ], [ linkml:prefix_prefix "isni" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "KEGG.ENZYME" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "RTXKG1" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "SIO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "HCPCS" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "PATO-PROPERTY" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "dct" ; - linkml:prefix_reference dcterms: ], - [ linkml:prefix_prefix "XPO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "linkml" ; - linkml:prefix_reference linkml: ], - [ linkml:prefix_prefix "dcat" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ICD0" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ICD9" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "EDAM-TOPIC" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "LOINC" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "UMLSSC" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "HsapDv" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ORCID" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "NCBIGene" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "oboformat" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "CAID" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "apollo" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "PHAROS" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "OBAN" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "INO" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "COAR_RESOURCE" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "gpi" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "isbn" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "linkml" ; + linkml:prefix_reference linkml: ], + [ linkml:prefix_prefix "UBERON_CORE" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "CPT" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "DrugCentral" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ORPHA" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "ScopusID" ; linkml:prefix_reference ], + [ linkml:prefix_prefix "VANDF" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "SNPEFF" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "SEMMEDDB" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "EDAM-DATA" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "LOINC" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "MSigDB" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "UMLSST" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "PathWhiz" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ChemBank" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "HANCESTRO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "oboformat" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "EFO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "issn" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "DrugCentral" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "ORCID" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "RO" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "GTEx" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "WBVocab" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "os" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "EDAM-OPERATION" ; - linkml:prefix_reference ], + [ linkml:prefix_prefix "RXNORM" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "foodb.compound" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "CHADO" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "PDQ" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "UBERGRAPH" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "gtpo" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ExO" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "CHEMBL.MECHANISM" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "medgen" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "HANCESTRO" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "fabio" ; linkml:prefix_reference ], + [ linkml:prefix_prefix "schema" ; + linkml:prefix_reference schema: ], + [ linkml:prefix_prefix "GTEx" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ECTO" ; + linkml:prefix_reference ], [ linkml:prefix_prefix "qud" ; linkml:prefix_reference ], - [ linkml:prefix_prefix "MI" ; - linkml:prefix_reference ], - [ linkml:prefix_prefix "CAID" ; - linkml:prefix_reference ] ; + [ linkml:prefix_prefix "ResearchID" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "PathWhiz" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "NLMID" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ICD0" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "Aeolus" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "NDDF" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "CTD" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "EDAM-OPERATION" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "RO" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "doi" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ICD9" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "biolink" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "wgs" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "CID" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "RXCUI" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "XPO" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "RTXKG1" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "ICD10" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "PATO-PROPERTY" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "GAMMA" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "HCPCS" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "dct" ; + linkml:prefix_reference dcterms: ], + [ linkml:prefix_prefix "hetio" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "chembio" ; + linkml:prefix_reference ], + [ linkml:prefix_prefix "DGIdb" ; + linkml:prefix_reference ] ; linkml:slots , , , @@ -1084,8 +1084,8 @@ , ; linkml:source_file "biolink-model.yaml" ; - linkml:source_file_date "Wed Jun 16 00:18:09 2021"^^xsd:dateTime ; - linkml:source_file_size 301803 ; + linkml:source_file_date "Wed Jun 16 00:30:40 2021"^^xsd:dateTime ; + linkml:source_file_size 301802 ; linkml:subsets , , , @@ -1332,7 +1332,7 @@ a linkml:SlotDefinition ; skos:definition "Optional value, if used locally as a convenience, is set to the iso abbreviation of the 'published in' parent." ; skos:inScheme ; - linkml:alias "iso_abbreviation" ; + linkml:alias "iso abbreviation" ; linkml:domain ; linkml:domain_of ; linkml:is_a ; @@ -1340,12 +1340,12 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "iso_abbreviation" . + linkml:usage_slot_name "iso abbreviation" . a linkml:SlotDefinition ; skos:definition "The enclosing parent serial containing the article should have industry-standard identifier from ISSN." ; skos:inScheme ; - linkml:alias "published_in" ; + linkml:alias "published in" ; linkml:domain ; linkml:domain_of ; linkml:is_a ; @@ -1354,7 +1354,7 @@ linkml:range ; linkml:required true ; linkml:slot_uri ; - linkml:usage_slot_name "published_in" . + linkml:usage_slot_name "published in" . a linkml:SlotDefinition ; skos:definition "behavioral feature that is the object of the association" ; @@ -1387,7 +1387,7 @@ a linkml:SlotDefinition ; skos:definition "The enclosing parent book containing the chapter should have industry-standard identifier from ISBN." ; skos:inScheme ; - linkml:alias "published_in" ; + linkml:alias "published in" ; linkml:domain ; linkml:domain_of ; linkml:is_a ; @@ -1396,7 +1396,7 @@ linkml:range ; linkml:required true ; linkml:slot_uri ; - linkml:usage_slot_name "published_in" . + linkml:usage_slot_name "published in" . a linkml:SlotDefinition ; skos:definition "Books should have industry-standard identifier such as from ISBN." ; @@ -1479,7 +1479,7 @@ a linkml:SlotDefinition ; skos:definition "this connects the derivation edge to the chemical entity that catalyzes the reaction that causes the subject chemical to transform into the object chemical." ; skos:inScheme ; - linkml:alias "catalyst_qualifier" ; + linkml:alias "catalyst qualifier" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -1489,7 +1489,7 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "catalyst_qualifier" . + linkml:usage_slot_name "catalyst qualifier" . a linkml:SlotDefinition ; skos:definition "the downstream chemical entity" ; @@ -1592,7 +1592,7 @@ a linkml:SlotDefinition ; skos:inScheme ; - linkml:alias "has_attribute" ; + linkml:alias "has attribute" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -1602,11 +1602,11 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_attribute" . + linkml:usage_slot_name "has attribute" . a linkml:SlotDefinition ; skos:inScheme ; - linkml:alias "has_attribute_type" ; + linkml:alias "has attribute type" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -1616,7 +1616,7 @@ linkml:range ; linkml:required true ; linkml:slot_uri ; - linkml:usage_slot_name "has_attribute_type" ; + linkml:usage_slot_name "has attribute type" ; linkml:values_from , . @@ -1684,10 +1684,12 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "Ehlers-Danlos syndrome, vascular type" ; - skos:example "MONDO:0017314" ], - [ skos:definition "abnormal brain ventricle size" ; - skos:example "MP:0013229" ] ; + linkml:examples [ a linkml:Example ; + skos:definition "abnormal brain ventricle size" ; + skos:example "MP:0013229" ], + [ a linkml:Example ; + skos:definition "Ehlers-Danlos syndrome, vascular type" ; + skos:example "MONDO:0017314" ] ; linkml:is_a ; linkml:is_usage_slot true ; linkml:owner ; @@ -1702,7 +1704,8 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "lung" ; + linkml:examples [ a linkml:Example ; + skos:definition "lung" ; skos:example "UBERON:0002048" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -1718,7 +1721,8 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "Ehlers-Danlos syndrome, vascular type" ; + linkml:examples [ a linkml:Example ; + skos:definition "Ehlers-Danlos syndrome, vascular type" ; skos:example "MONDO:0017314" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -1768,7 +1772,8 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "Ehlers-Danlos syndrome" ; + linkml:examples [ a linkml:Example ; + skos:definition "Ehlers-Danlos syndrome" ; skos:example "MONDO:0020066" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -1784,9 +1789,11 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "Ehlers-Danlos syndrome, vascular type" ; + linkml:examples [ a linkml:Example ; + skos:definition "Ehlers-Danlos syndrome, vascular type" ; skos:example "MONDO:0017314" ], - [ skos:definition "abnormal brain ventricle size" ; + [ a linkml:Example ; + skos:definition "abnormal brain ventricle size" ; skos:example "MP:0013229" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -1843,11 +1850,14 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "abnormal circulating bilirubin level" ; - skos:example "MP:0001569" ], - [ skos:definition "axon morphology variant" ; + linkml:examples [ a linkml:Example ; + skos:definition "axon morphology variant" ; skos:example "WBPhenotype:0000180" ], - [ skos:definition "Hyperkinesis" ; + [ a linkml:Example ; + skos:definition "abnormal circulating bilirubin level" ; + skos:example "MP:0001569" ], + [ a linkml:Example ; + skos:definition "Hyperkinesis" ; skos:example "HP:0002487" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -2017,7 +2027,8 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "cerebellum" ; + linkml:examples [ a linkml:Example ; + skos:definition "cerebellum" ; skos:example "UBERON:0002037" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -2045,7 +2056,7 @@ a linkml:SlotDefinition ; skos:definition "can be used to indicate magnitude, or also ranking" ; skos:inScheme ; - linkml:alias "quantifier_qualifier" ; + linkml:alias "quantifier qualifier" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -2054,22 +2065,23 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "quantifier_qualifier" . + linkml:usage_slot_name "quantifier qualifier" . a linkml:SlotDefinition ; skos:definition "stage at which the gene is expressed in the site" ; skos:inScheme ; - linkml:alias "stage_qualifier" ; + linkml:alias "stage qualifier" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "larval stage" ; + linkml:examples [ a linkml:Example ; + skos:definition "larval stage" ; skos:example "UBERON:0000069" ] ; linkml:is_a ; linkml:is_usage_slot true ; linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "stage_qualifier" . + linkml:usage_slot_name "stage qualifier" . a linkml:SlotDefinition ; skos:definition "gene in which variation is correlated with the phenotypic feature" ; @@ -2164,7 +2176,8 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "kinase activity" ; + linkml:examples [ a linkml:Example ; + skos:definition "kinase activity" ; skos:example "GO:0016301" ] ; linkml:inlined true ; linkml:is_a ; @@ -2182,7 +2195,8 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "twist1b" ; + linkml:examples [ a linkml:Example ; + skos:definition "twist1b" ; skos:example "ZFIN:ZDB-GENE-050417-357" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -2198,7 +2212,8 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "COL1A1 (Human)" ; + linkml:examples [ a linkml:Example ; + skos:definition "COL1A1 (Human)" ; skos:example "HGNC:2197" ] ; linkml:inlined true ; linkml:is_a ; @@ -2580,7 +2595,7 @@ a linkml:SlotDefinition ; skos:definition "The gene product, gene, or complex that catalyzes the reaction" ; skos:inScheme ; - linkml:alias "enabled_by" ; + linkml:alias "enabled by" ; linkml:domain ; linkml:domain_of ; linkml:inherited true ; @@ -2591,12 +2606,12 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "enabled_by" . + linkml:usage_slot_name "enabled by" . a linkml:SlotDefinition ; skos:definition "A chemical entity that is the input for the reaction" ; skos:inScheme ; - linkml:alias "has_input" ; + linkml:alias "has input" ; linkml:domain ; linkml:domain_of ; linkml:inherited true ; @@ -2606,12 +2621,12 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_input" . + linkml:usage_slot_name "has input" . a linkml:SlotDefinition ; skos:definition "A chemical entity that is the output for the reaction" ; skos:inScheme ; - linkml:alias "has_output" ; + linkml:alias "has output" ; linkml:domain ; linkml:domain_of ; linkml:inherited true ; @@ -2621,7 +2636,7 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_output" . + linkml:usage_slot_name "has output" . a linkml:SlotDefinition ; skos:inScheme ; @@ -2725,7 +2740,7 @@ a linkml:SlotDefinition ; skos:definition "the environment in which the two taxa interact" ; skos:inScheme ; - linkml:alias "associated_environmental_context" ; + linkml:alias "associated environmental context" ; linkml:domain ; linkml:domain_of ; linkml:is_a ; @@ -2733,7 +2748,7 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "associated_environmental_context" . + linkml:usage_slot_name "associated environmental context" . a linkml:SlotDefinition ; skos:definition "the taxon that is the subject of the association" ; @@ -2884,7 +2899,8 @@ linkml:alias "id" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:example "WB:WBInteraction000538741" ] ; + linkml:examples [ a linkml:Example ; + skos:example "WB:WBInteraction000538741" ] ; linkml:identifier true ; linkml:is_a ; linkml:is_usage_slot true ; @@ -2929,7 +2945,8 @@ linkml:alias "relation" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "the subject molecular phosphorylates the object molecule" ; + linkml:examples [ a linkml:Example ; + skos:definition "the subject molecular phosphorylates the object molecule" ; skos:example "RO:0002447" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -3091,7 +3108,8 @@ linkml:alias "id" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "sodium ion" ; + linkml:examples [ a linkml:Example ; + skos:definition "sodium ion" ; skos:example "CHEBI:29101" ] ; linkml:identifier true ; linkml:is_a ; @@ -3104,7 +3122,7 @@ a linkml:SlotDefinition ; skos:inScheme ; - linkml:alias "has_attribute" ; + linkml:alias "has attribute" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -3115,7 +3133,7 @@ linkml:range ; linkml:required true ; linkml:slot_uri ; - linkml:usage_slot_name "has_attribute" . + linkml:usage_slot_name "has attribute" . a linkml:TypeDefinition ; skos:inScheme ; @@ -3230,9 +3248,11 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "ClinVar representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)" ; + linkml:examples [ a linkml:Example ; + skos:definition "ClinVar representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)" ; skos:example "ClinVar:38077" ], - [ skos:definition "chr13:g.32921033G>C (hg19) in ClinGen" ; + [ a linkml:Example ; + skos:definition "chr13:g.32921033G>C (hg19) in ClinGen" ; skos:example "ClinGen:CA024716" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -3273,46 +3293,49 @@ a linkml:SlotDefinition ; skos:definition "number in object population that carry a particular allele, aka allele count" ; skos:inScheme ; - linkml:alias "has_count" ; + linkml:alias "has count" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "4 individuals in gnomad set" ; + linkml:examples [ a linkml:Example ; + skos:definition "4 individuals in gnomad set" ; skos:example "4" ] ; linkml:is_a ; linkml:is_usage_slot true ; linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_count" . + linkml:usage_slot_name "has count" . a linkml:SlotDefinition ; skos:definition "frequency of allele in population, expressed as a number with allele divided by number in reference population, aka allele frequency" ; skos:inScheme ; - linkml:alias "has_quotient" ; + linkml:alias "has quotient" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:example "0.0001666" ] ; + linkml:examples [ a linkml:Example ; + skos:example "0.0001666" ] ; linkml:is_a ; linkml:is_usage_slot true ; linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_quotient" . + linkml:usage_slot_name "has quotient" . a linkml:SlotDefinition ; skos:definition "number all populations that carry a particular allele, aka allele number" ; skos:inScheme ; - linkml:alias "has_total" ; + linkml:alias "has total" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "24014 individuals in gnomad set" ; + linkml:examples [ a linkml:Example ; + skos:definition "24014 individuals in gnomad set" ; skos:example "24014" ] ; linkml:is_a ; linkml:is_usage_slot true ; linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_total" . + linkml:usage_slot_name "has total" . a linkml:SlotDefinition ; skos:definition "the population that is observed to have the frequency" ; @@ -3320,7 +3343,8 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "African" ; + linkml:examples [ a linkml:Example ; + skos:definition "African" ; skos:example "HANCESTRO:0010" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -3336,7 +3360,8 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "17:41203088 A/C in gnomad" ; + linkml:examples [ a linkml:Example ; + skos:definition "17:41203088 A/C in gnomad" ; skos:example "NC_000017.11:g.43051071A>T" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -3371,6 +3396,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3388,6 +3414,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3409,6 +3436,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3431,6 +3459,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3454,6 +3483,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3493,6 +3523,7 @@ "UBERON", "UMLS" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3508,13 +3539,15 @@ skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; - linkml:deprecated "This class is deprecated in favor of 'small molecule.'" . + linkml:deprecated "This class is deprecated in favor of 'small molecule.'" ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3540,6 +3573,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3557,6 +3591,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3575,6 +3610,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3593,6 +3629,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3612,6 +3649,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3633,6 +3671,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3660,6 +3699,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3688,6 +3728,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3707,6 +3748,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3724,6 +3766,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3740,6 +3783,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3758,6 +3802,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3777,6 +3822,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3796,6 +3842,7 @@ linkml:definition_uri ; linkml:id_prefixes "foodb.compound" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3812,6 +3859,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3856,6 +3904,7 @@ "interpro" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3881,6 +3930,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3902,6 +3952,7 @@ , , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3922,6 +3973,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3936,6 +3988,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3974,6 +4027,7 @@ "UBERON", "UMLS" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -3996,6 +4050,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4014,6 +4069,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4033,6 +4089,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4054,6 +4111,7 @@ "REACT" ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -4062,6 +4120,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4082,6 +4141,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4111,6 +4171,7 @@ "MIR", "WormBase" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4133,6 +4194,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4152,7 +4214,8 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:definition "An abnormal anatomical structure, when viewed as an exposure, representing an precondition, leading to or influencing an outcome, e.g. thrombosis leading to an ischemic disease outcome." ; @@ -4161,6 +4224,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4180,6 +4244,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4198,6 +4263,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4219,6 +4285,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4252,6 +4319,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4270,6 +4338,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4284,6 +4353,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4311,6 +4381,7 @@ "REACT" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4331,6 +4402,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4353,6 +4425,7 @@ "UniProtKB" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4374,6 +4447,7 @@ linkml:id_prefixes "RNACENTRAL" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4398,6 +4472,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4416,14 +4491,16 @@ skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; - linkml:is_a . + linkml:is_a ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; OIO:inSubset ; @@ -4439,6 +4516,7 @@ "MIR", "WormBase" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4464,6 +4542,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4485,6 +4564,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4505,7 +4585,8 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:inScheme ; @@ -4515,6 +4596,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4589,7 +4671,8 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "hereditary breast cancer" ; + linkml:examples [ a linkml:Example ; + skos:definition "hereditary breast cancer" ; skos:example "MONDO:0016419" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -4681,7 +4764,7 @@ a linkml:SlotDefinition ; skos:inScheme ; skos:mappingRelation ; - linkml:alias "has_taxonomic_rank" ; + linkml:alias "has taxonomic rank" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -4690,12 +4773,12 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_taxonomic_rank" . + linkml:usage_slot_name "has taxonomic rank" . a linkml:SlotDefinition ; skos:definition "subclass of holds between two taxa, e.g. human subclass of mammal" ; skos:inScheme ; - linkml:alias "subclass_of" ; + linkml:alias "subclass of" ; linkml:domain ; linkml:domain_of ; linkml:inherited true ; @@ -4705,7 +4788,7 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "subclass_of" . + linkml:usage_slot_name "subclass of" . a linkml:SlotDefinition ; rdfs:subPropertyOf ; @@ -4754,7 +4837,7 @@ a linkml:SlotDefinition ; skos:definition "The state of the sequence w.r.t a reference sequence" ; skos:inScheme ; - linkml:alias "has_biological_sequence" ; + linkml:alias "has biological sequence" ; linkml:domain ; linkml:domain_of ; linkml:is_a ; @@ -4762,12 +4845,12 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_biological_sequence" . + linkml:usage_slot_name "has biological sequence" . a linkml:SlotDefinition ; skos:definition "Each allele can be associated with any number of genes" ; skos:inScheme ; - linkml:alias "has_gene" ; + linkml:alias "has gene" ; linkml:domain ; linkml:domain_of ; linkml:is_a ; @@ -4776,16 +4859,18 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_gene" . + linkml:usage_slot_name "has gene" . a linkml:SlotDefinition ; skos:inScheme ; linkml:alias "id" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)" ; + linkml:examples [ a linkml:Example ; + skos:definition "NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)" ; skos:example "ClinVarVariant:17681" ], - [ skos:definition "ti282a allele from ZFIN" ; + [ a linkml:Example ; + skos:definition "ti282a allele from ZFIN" ; skos:example "ZFIN:ZDB-ALT-980203-1091" ] ; linkml:identifier true ; linkml:is_a ; @@ -4846,7 +4931,8 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "hereditary breast cancer" ; + linkml:examples [ a linkml:Example ; + skos:definition "hereditary breast cancer" ; skos:example "MONDO:0016419" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -4877,7 +4963,8 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)" ; + linkml:examples [ a linkml:Example ; + skos:definition "NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)" ; skos:example "ClinVar:52241" ] ; linkml:is_a ; linkml:is_usage_slot true ; @@ -4920,6 +5007,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4937,6 +5025,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4956,6 +5045,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4976,6 +5066,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -4994,6 +5085,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5006,6 +5098,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5023,6 +5116,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5037,6 +5131,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5059,6 +5154,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5080,6 +5176,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5108,6 +5205,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5130,6 +5228,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5148,6 +5247,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5166,6 +5266,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5190,6 +5291,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5209,6 +5311,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5229,6 +5332,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5245,6 +5349,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5262,6 +5367,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5279,6 +5385,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5305,6 +5412,7 @@ "WIKIPATHWAYS" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5336,6 +5444,7 @@ "UMLS", "UniProtKB" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5363,6 +5472,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5379,6 +5489,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5402,6 +5513,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5415,6 +5527,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5427,7 +5540,8 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:closeMatch ; @@ -5436,6 +5550,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5452,7 +5567,8 @@ skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:exactMatch ; @@ -5460,6 +5576,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -5472,10 +5589,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5502,10 +5616,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5597,10 +5708,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5671,11 +5779,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5715,10 +5820,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5785,11 +5887,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5807,10 +5906,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5875,10 +5971,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -5911,7 +6004,7 @@ a linkml:SlotDefinition ; skos:definition "Optional quantitative value indicating degree of expression." ; skos:inScheme ; - linkml:alias "quantifier_qualifier" ; + linkml:alias "quantifier qualifier" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -5920,7 +6013,7 @@ linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "quantifier_qualifier" . + linkml:usage_slot_name "quantifier qualifier" . a linkml:SlotDefinition ; skos:definition "gene in which variation is correlated with the disease, may be protective or causative or associative, or as a model" ; @@ -6161,10 +6254,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6184,10 +6274,7 @@ skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6205,10 +6292,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6226,10 +6310,7 @@ skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6273,11 +6354,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6311,11 +6389,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6332,11 +6407,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6391,10 +6463,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6424,11 +6493,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6446,10 +6512,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6468,10 +6531,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6539,10 +6599,7 @@ skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6661,10 +6718,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -6682,14 +6736,16 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:definition "Biolink Model root class for entity annotations." ; skos:inScheme ; linkml:abstract true ; linkml:class_uri ; - linkml:definition_uri . + linkml:definition_uri ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:exactMatch ; @@ -6698,6 +6754,7 @@ linkml:definition_uri ; linkml:id_prefixes "CLO" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6727,6 +6784,7 @@ "UBERON", "UMLS" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6744,6 +6802,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6761,7 +6820,8 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:definition "This is an abstract class that can be mixed in with different kinds of gene products to indicate that the gene product is intended to represent a specific isoform rather than a canonical or reference or generic product. The designation of canonical or reference may be arbitrary, or it may represent the superclass of all isoforms." ; @@ -6770,6 +6830,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , , . @@ -6784,6 +6845,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6810,6 +6872,7 @@ "GOLD.META" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6830,6 +6893,7 @@ "NCBIGene", "RNACENTRAL" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6851,6 +6915,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6869,6 +6934,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6883,6 +6949,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6905,6 +6972,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6927,6 +6995,7 @@ linkml:id_prefixes "RNACENTRAL" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -6949,7 +7018,8 @@ linkml:class_uri ; linkml:definition_uri ; linkml:id_prefixes "TAXRANK" ; - linkml:is_a . + linkml:is_a ; + linkml:slot_usage [ ] . a linkml:SlotDefinition ; owl:inverseOf ; @@ -7058,10 +7128,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7076,11 +7143,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7095,11 +7159,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7114,11 +7175,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7133,11 +7191,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7165,11 +7220,8 @@ ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7221,10 +7273,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7259,10 +7308,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7280,11 +7326,8 @@ ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7311,11 +7354,8 @@ owl:inverseOf ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7356,11 +7396,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7399,11 +7436,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7419,10 +7453,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7467,11 +7498,8 @@ skos:inScheme ; skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7488,11 +7516,8 @@ ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7536,10 +7561,7 @@ skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7604,11 +7626,8 @@ skos:narrowMatch , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7644,11 +7663,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7666,10 +7682,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7687,10 +7700,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7706,11 +7716,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7759,11 +7766,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7782,10 +7786,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7804,11 +7805,8 @@ skos:narrowMatch , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7827,10 +7825,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7849,10 +7844,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7870,10 +7862,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7892,10 +7881,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7912,11 +7898,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -7934,11 +7917,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8025,10 +8005,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8046,10 +8023,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8083,20 +8057,17 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; linkml:is_a ; linkml:local_names [ a linkml:LocalName ; - skos:altLabel "activity directly negatively regulates activity of" ; - linkml:local_name_source "ro" ], - [ a linkml:LocalName ; skos:altLabel "negatively regulates" ; - linkml:local_name_source "translator" ] ; + linkml:local_name_source "translator" ], + [ a linkml:LocalName ; + skos:altLabel "activity directly negatively regulates activity of" ; + linkml:local_name_source "ro" ] ; linkml:mixins ; linkml:multivalued true ; linkml:owner ; @@ -8128,10 +8099,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8157,10 +8125,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8270,11 +8235,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8292,10 +8254,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8313,10 +8272,7 @@ skos:mappingRelation ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8350,11 +8306,8 @@ ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8382,10 +8335,7 @@ skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8402,11 +8352,8 @@ skos:inScheme ; skos:mappingRelation ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8446,10 +8393,7 @@ skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8479,11 +8423,8 @@ skos:inScheme ; skos:note "The CHEBI ID represents a role rather than a predicate" ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8512,10 +8453,7 @@ skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8595,10 +8533,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8615,11 +8550,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8695,10 +8627,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8752,10 +8681,7 @@ skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8817,10 +8743,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8854,11 +8777,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8876,10 +8796,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8898,10 +8815,7 @@ skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8917,11 +8831,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8972,10 +8883,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -8993,11 +8901,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9015,10 +8920,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9037,10 +8939,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9059,10 +8958,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9081,10 +8977,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9101,11 +8994,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9124,11 +9014,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9146,11 +9033,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9213,10 +9097,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9266,10 +9147,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9299,11 +9177,8 @@ skos:narrowMatch , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9325,10 +9200,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9345,11 +9217,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9383,10 +9252,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9419,10 +9285,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9441,10 +9304,7 @@ skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9544,11 +9404,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9590,11 +9447,8 @@ skos:inScheme ; skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9923,11 +9777,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -9960,11 +9811,8 @@ skos:inScheme ; skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -10002,11 +9850,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -10037,10 +9882,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -10080,10 +9922,7 @@ skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -10420,10 +10259,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -10455,11 +10291,8 @@ skos:definition "x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533) and produces x (amino acid chain/polypeptide)" ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -10580,6 +10413,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10597,6 +10431,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10628,6 +10463,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10655,6 +10491,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10682,6 +10519,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10708,6 +10546,7 @@ "LOINC", "NCIT" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10726,6 +10565,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10740,6 +10580,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10767,6 +10608,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10793,6 +10635,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10824,6 +10667,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10854,6 +10698,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10884,6 +10729,7 @@ ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10911,6 +10757,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10942,6 +10789,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10976,6 +10824,7 @@ linkml:id_prefixes "ORCID" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -10994,6 +10843,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11018,6 +10868,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11042,6 +10893,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11069,6 +10921,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11096,7 +10949,8 @@ skos:narrowMatch ; linkml:class_uri ; linkml:definition_uri ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:definition "An entity that has material reality (a.k.a. physical essence)." ; @@ -11109,6 +10963,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11125,6 +10980,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11149,6 +11005,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11167,6 +11024,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11191,7 +11049,8 @@ skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; OIO:inSubset , @@ -11224,6 +11083,7 @@ "SIDER.DRUG", "UNII" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11242,6 +11102,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11266,6 +11127,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11296,6 +11158,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11326,6 +11189,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -11364,10 +11228,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11403,10 +11264,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11430,10 +11288,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11453,11 +11308,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11501,9 +11353,11 @@ linkml:alias "object" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "kinase activity" ; + linkml:examples [ a linkml:Example ; + skos:definition "kinase activity" ; skos:example "GO:0016301" ], - [ skos:definition "postsynaptic membrane" ; + [ a linkml:Example ; + skos:definition "postsynaptic membrane" ; skos:example "GO:0045211" ] ; linkml:inlined true ; linkml:is_a ; @@ -11521,7 +11375,8 @@ linkml:alias "subject" ; linkml:domain ; linkml:domain_of ; - linkml:examples [ skos:definition "twist1b" ; + linkml:examples [ a linkml:Example ; + skos:definition "twist1b" ; skos:example "ZFIN:ZDB-GENE-050417-357" ] ; linkml:inlined true ; linkml:is_a ; @@ -11580,11 +11435,8 @@ skos:definition "holds between food and one or more chemical entities composing it, irrespective of nutritional value (i.e. could also be a contaminant or additive)" ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11631,11 +11483,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11662,10 +11511,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11693,10 +11539,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11790,10 +11633,7 @@ skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11814,11 +11654,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11860,11 +11697,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11941,11 +11775,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11964,10 +11795,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -11997,11 +11825,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -12067,10 +11892,7 @@ skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -12087,6 +11909,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12097,6 +11920,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12121,6 +11945,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12130,6 +11955,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12148,6 +11974,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12162,6 +11989,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12183,6 +12011,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12193,6 +12022,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12202,6 +12032,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12211,6 +12042,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12220,6 +12052,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12232,6 +12065,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12257,6 +12091,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12266,6 +12101,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:SlotDefinition ; @@ -12275,10 +12111,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -12326,10 +12159,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -12351,11 +12181,8 @@ skos:narrowMatch , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -12413,21 +12240,18 @@ skos:inScheme ; skos:narrowMatch ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; linkml:is_a ; linkml:local_names [ a linkml:LocalName ; - skos:altLabel "regulates" ; - linkml:local_name_source "translator" ], - [ a linkml:LocalName ; skos:altLabel "activity directly regulates activity of" ; - linkml:local_name_source "ro" ] ; + linkml:local_name_source "ro" ], + [ a linkml:LocalName ; + skos:altLabel "regulates" ; + linkml:local_name_source "translator" ] ; linkml:mixins ; linkml:multivalued true ; linkml:owner ; @@ -12452,11 +12276,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -12508,10 +12329,7 @@ skos:note "This is a grouping for negative process-process and entity-entity regulation." ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inlined true ; @@ -12534,11 +12352,8 @@ ; skos:note "This is a grouping for positive process-process and entity-entity regulation." ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inlined true ; @@ -12566,11 +12381,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -12640,6 +12452,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12660,6 +12473,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12671,6 +12485,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12697,6 +12512,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12761,6 +12577,7 @@ "UMLS", "medgen" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12778,6 +12595,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12786,6 +12604,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12796,6 +12615,7 @@ ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12828,6 +12648,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12854,6 +12675,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12863,6 +12685,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12871,6 +12694,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12881,6 +12705,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12902,6 +12727,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -12924,6 +12750,7 @@ skos:altLabel "population" ; linkml:local_name_source "ga4gh" ] ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -12989,11 +12816,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13199,11 +13023,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13249,11 +13070,8 @@ skos:narrowMatch ; skos:note "typically used to describe homology relationships between genes or gene products" ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13356,11 +13174,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13394,6 +13209,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13424,6 +13240,7 @@ linkml:id_prefixes "NLMID", "isbn" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13450,6 +13267,7 @@ linkml:defining_slots ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -13459,6 +13277,7 @@ linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , , . @@ -13471,6 +13290,7 @@ ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13497,6 +13317,7 @@ ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13524,6 +13345,7 @@ linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13554,6 +13376,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13572,6 +13395,7 @@ linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -13606,6 +13430,7 @@ "XPO", "ZP" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13623,7 +13448,8 @@ linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:definition "An association between a sequence variant and a treatment or health intervention. The treatment object itself encompasses both the disease and the drug used." ; @@ -13635,6 +13461,7 @@ ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13660,6 +13487,7 @@ ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -13685,10 +13513,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13707,11 +13532,8 @@ skos:narrowMatch , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13728,11 +13550,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13751,11 +13570,8 @@ skos:inScheme ; skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13774,10 +13590,7 @@ skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13825,11 +13638,8 @@ , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13846,11 +13656,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13869,10 +13676,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13890,11 +13694,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13912,11 +13713,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13933,11 +13731,8 @@ skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13958,10 +13753,7 @@ ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -13980,10 +13772,7 @@ skos:inScheme ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -14041,11 +13830,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -14100,11 +13886,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -14124,11 +13907,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -14156,10 +13936,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -14184,11 +13961,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; skos:note "This is a grouping for process-process and entity-entity regulation." ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inlined true ; @@ -14211,7 +13985,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:definition "An interaction between a chemical entity and another entity" ; @@ -14221,6 +13996,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -14229,6 +14005,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14254,6 +14031,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14277,6 +14055,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , . @@ -14292,6 +14071,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14315,6 +14095,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:altLabel "variant annotation" ; linkml:local_name_source "ga4gh" ] ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -14327,6 +14108,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14349,11 +14131,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:exactMatch ; skos:inScheme ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -14476,6 +14255,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14499,6 +14279,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14535,6 +14316,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t "gtpo" ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , , . @@ -14553,6 +14335,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14575,6 +14358,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14616,6 +14400,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:defining_slots ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14640,6 +14425,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:defining_slots ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14663,6 +14449,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14674,6 +14461,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14701,6 +14489,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14726,6 +14515,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14751,6 +14541,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14776,6 +14567,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14801,6 +14593,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14826,6 +14619,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14852,6 +14646,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14876,6 +14671,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14900,6 +14696,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:defining_slots ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14925,6 +14722,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14947,7 +14745,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; skos:definition "An association between a two populations" ; @@ -14957,6 +14756,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -14983,6 +14783,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15010,6 +14811,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:id_prefixes "NLMID", "issn" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15041,6 +14843,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15087,11 +14890,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t , ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -15116,6 +14916,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:id_prefixes "PMID" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15146,6 +14947,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15169,6 +14971,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15196,6 +14999,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15225,6 +15029,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15243,6 +15048,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15269,6 +15075,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -15281,6 +15088,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15321,6 +15129,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15339,6 +15148,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15350,6 +15160,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15361,6 +15172,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -15369,6 +15181,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , . @@ -15418,6 +15231,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15437,6 +15251,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15477,6 +15292,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15502,6 +15318,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:id_prefixes "ENSEMBL", "FB" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15569,7 +15386,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t a linkml:SlotDefinition ; skos:definition "may often be an organism attribute" ; skos:inScheme ; - linkml:alias "has_attribute" ; + linkml:alias "has attribute" ; linkml:domain ; linkml:domain_of ; linkml:inlined true ; @@ -15579,7 +15396,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:owner ; linkml:range ; linkml:slot_uri ; - linkml:usage_slot_name "has_attribute" . + linkml:usage_slot_name "has attribute" . a linkml:SlotDefinition ; skos:exactMatch ; @@ -15602,6 +15419,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15631,6 +15449,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15656,6 +15475,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:defining_slots ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15679,7 +15499,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:inScheme ; linkml:class_uri ; linkml:definition_uri ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:SlotDefinition ; skos:definition "connects a genomic feature to its sequence" ; @@ -15718,6 +15539,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15736,6 +15558,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15754,6 +15577,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:mixins , , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15829,10 +15653,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -15883,6 +15704,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15943,6 +15765,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t "isbn", "isni" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -15971,6 +15794,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16004,10 +15828,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:domain_of ; @@ -16029,6 +15850,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16088,6 +15910,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:id_prefixes "MESH", "NCBITaxon" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16125,10 +15948,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:domain_of ; @@ -16185,6 +16005,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -16193,6 +16014,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:abstract true ; linkml:class_uri ; linkml:definition_uri ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16227,6 +16049,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t "EDAM-TOPIC" ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16244,6 +16067,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16292,6 +16116,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:id_prefixes "doi" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16326,6 +16151,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16364,7 +16190,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:id_prefixes "KEGG.BRITE", "MESH", "UMLS" ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:ClassDefinition ; OIO:inSubset ; @@ -16375,6 +16202,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16415,6 +16243,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16444,11 +16273,11 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:inScheme ; skos:note "This class is for modeling the specific state at a locus. A single DBSNP rs ID could correspond to more than one sequence variants (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)" ; linkml:alt_descriptions [ a linkml:AltDescription ; - skos:definition "A contiguous change at a Location" ; - linkml:source "VMC" ], - [ a linkml:AltDescription ; skos:definition "An entity that describes a single affected, endogenous allele. These can be of any type that matches that definition" ; - linkml:source "AGR" ] ; + linkml:source "AGR" ], + [ a linkml:AltDescription ; + skos:definition "A contiguous change at a Location" ; + linkml:source "VMC" ] ; linkml:class_uri ; linkml:definition_uri ; linkml:id_prefixes "CAID", @@ -16465,6 +16294,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:local_names [ a linkml:LocalName ; skos:altLabel "allele" ; linkml:local_name_source "agr" ] ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16500,6 +16330,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t "IUPHAR.FAMILY" ; linkml:is_a ; linkml:mixin true ; + linkml:slot_usage [ ] ; linkml:slots . a linkml:ClassDefinition ; @@ -16518,6 +16349,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:is_a ; linkml:mixins ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16538,7 +16370,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; - linkml:mixin true . + linkml:mixin true ; + linkml:slot_usage [ ] . a linkml:SlotDefinition ; OIO:inSubset ; @@ -16554,10 +16387,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:domain_of ; @@ -16580,6 +16410,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:definition_uri ; linkml:id_prefixes "NLMID" ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16640,11 +16471,8 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; skos:relatedMatch ; linkml:annotations [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ], - [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -16883,10 +16711,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t ; linkml:annotations [ a linkml:Annotation ; skos:example "True" ; - linkml:tag ], - [ a linkml:Annotation ; - skos:example "biolink:canonical_predicate" ; - linkml:tag ] ; + linkml:tag ] ; linkml:definition_uri ; linkml:domain ; linkml:inherited true ; @@ -16906,6 +16731,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -16982,11 +16808,11 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:domain_of ; linkml:is_a ; linkml:local_names [ a linkml:LocalName ; - skos:altLabel "descriptor" ; - linkml:local_name_source "ga4gh" ], - [ a linkml:LocalName ; skos:altLabel "node with incoming relationship" ; - linkml:local_name_source "neo4j" ] ; + linkml:local_name_source "neo4j" ], + [ a linkml:LocalName ; + skos:altLabel "descriptor" ; + linkml:local_name_source "ga4gh" ] ; linkml:owner ; linkml:range ; linkml:required true ; @@ -17093,11 +16919,11 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:domain_of ; linkml:is_a ; linkml:local_names [ a linkml:LocalName ; - skos:altLabel "node with outgoing relationship" ; - linkml:local_name_source "neo4j" ], - [ a linkml:LocalName ; skos:altLabel "annotation subject" ; - linkml:local_name_source "ga4gh" ] ; + linkml:local_name_source "ga4gh" ], + [ a linkml:LocalName ; + skos:altLabel "node with outgoing relationship" ; + linkml:local_name_source "neo4j" ] ; linkml:owner ; linkml:range ; linkml:required true ; @@ -17184,6 +17010,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:class_uri ; linkml:definition_uri ; linkml:is_a ; + linkml:slot_usage [ ] ; linkml:slots , , , @@ -17242,6 +17069,7 @@ In an RDF database, nodes will typically have an rdf:type triples. This can be t linkml:is_a ; linkml:mixins , ; + linkml:slot_usage [ ] ; linkml:slots , , , diff --git a/biolink/model.py b/biolink/model.py index aeedd26838..53abb76fd6 100644 --- a/biolink/model.py +++ b/biolink/model.py @@ -1,5 +1,5 @@ # Auto generated from biolink-model.yaml by pythongen.py version: 0.9.0 -# Generation date: 2021-06-16 00:20 +# Generation date: 2021-06-16 00:33 # Schema: Biolink-Model # # id: https://w3id.org/biolink/biolink-model @@ -9,20 +9,21 @@ import dataclasses import sys import re +from jsonasobj2 import JsonObj from typing import Optional, List, Union, Dict, ClassVar, Any from dataclasses import dataclass -from linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from linkml.utils.slot import Slot -from linkml.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml.utils.formatutils import camelcase, underscore, sfx -from linkml.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl from rdflib import Namespace, URIRef -from linkml.utils.curienamespace import CurieNamespace -from linkml.utils.metamodelcore import Bool, URIorCURIE, XSDDate, XSDTime -from linkml_model.types import Boolean, Date, Double, Float, Integer, String, Time, Uriorcurie +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Double, Float, Integer, String, Time, Uriorcurie +from linkml_runtime.utils.metamodelcore import Bool, URIorCURIE, XSDDate, XSDTime metamodel_version = "1.7.0" @@ -1154,18 +1155,16 @@ class Attribute(Annotation): source: Optional[Union[str, LabelType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.has_attribute_type is None: - raise ValueError("has_attribute_type must be supplied") + if self._is_empty(self.has_attribute_type): + self.MissingRequiredField("has_attribute_type") if not isinstance(self.has_attribute_type, OntologyClass): self.has_attribute_type = OntologyClass() if self.name is not None and not isinstance(self.name, LabelType): self.name = LabelType(self.name) - if self.has_quantitative_value is None: - self.has_quantitative_value = [] if not isinstance(self.has_quantitative_value, list): - self.has_quantitative_value = [self.has_quantitative_value] + self.has_quantitative_value = [self.has_quantitative_value] if self.has_quantitative_value is not None else [] self.has_quantitative_value = [v if isinstance(v, QuantityValue) else QuantityValue(**v) for v in self.has_quantitative_value] if self.has_qualitative_value is not None and not isinstance(self.has_qualitative_value, NamedThingId): @@ -1336,18 +1335,16 @@ class Entity(YAMLRoot): has_attribute: Optional[Union[Union[dict, Attribute], List[Union[dict, Attribute]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EntityId): self.id = EntityId(self.id) if self.iri is not None and not isinstance(self.iri, IriType): self.iri = IriType(self.iri) - if self.category is None: - self.category = [] if not isinstance(self.category, list): - self.category = [self.category] + self.category = [self.category] if self.category is not None else [] self.category = [v if isinstance(v, CategoryType) else CategoryType(v) for v in self.category] if self.type is not None and not isinstance(self.type, str): @@ -1362,17 +1359,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.source is not None and not isinstance(self.source, LabelType): self.source = LabelType(self.source) - if self.provided_by is None: - self.provided_by = [] if not isinstance(self.provided_by, list): - self.provided_by = [self.provided_by] + self.provided_by = [self.provided_by] if self.provided_by is not None else [] self.provided_by = [v if isinstance(v, AgentId) else AgentId(v) for v in self.provided_by] - if self.has_attribute is None: - self.has_attribute = [] - if not isinstance(self.has_attribute, list): - self.has_attribute = [self.has_attribute] - self._normalize_inlined_slot(slot_name="has_attribute", slot_type=Attribute, key_name="has attribute type", inlined_as_list=True, keyed=False) + self._normalize_inlined_as_dict(slot_name="has_attribute", slot_type=Attribute, key_name="has attribute type", keyed=False) super().__post_init__(**kwargs) @@ -1393,17 +1384,15 @@ class NamedThing(Entity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, NamedThingId): self.id = NamedThingId(self.id) - if self.category is None: - raise ValueError("category must be supplied") - elif not isinstance(self.category, list): - self.category = [self.category] - elif len(self.category) == 0: - raise ValueError(f"category must be a non-empty list") + if self._is_empty(self.category): + self.MissingRequiredField("category") + if not isinstance(self.category, list): + self.category = [self.category] if self.category is not None else [] self.category = [v if isinstance(v, NamedThingId) else NamedThingId(v) for v in self.category] super().__post_init__(**kwargs) @@ -1476,18 +1465,16 @@ class OrganismTaxon(NamedThing): subclass_of: Optional[Union[Union[str, OrganismTaxonId], List[Union[str, OrganismTaxonId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, OrganismTaxonId): self.id = OrganismTaxonId(self.id) if self.has_taxonomic_rank is not None and not isinstance(self.has_taxonomic_rank, TaxonomicRank): self.has_taxonomic_rank = TaxonomicRank() - if self.subclass_of is None: - self.subclass_of = [] if not isinstance(self.subclass_of, list): - self.subclass_of = [self.subclass_of] + self.subclass_of = [self.subclass_of] if self.subclass_of is not None else [] self.subclass_of = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.subclass_of] super().__post_init__(**kwargs) @@ -1509,8 +1496,8 @@ class Event(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EventId): self.id = EventId(self.id) @@ -1548,15 +1535,13 @@ class Agent(AdministrativeEntity): name: Optional[Union[str, LabelType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, AgentId): self.id = AgentId(self.id) - if self.affiliation is None: - self.affiliation = [] if not isinstance(self.affiliation, list): - self.affiliation = [self.affiliation] + self.affiliation = [self.affiliation] if self.affiliation is not None else [] self.affiliation = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.affiliation] if self.address is not None and not isinstance(self.address, str): @@ -1619,8 +1604,8 @@ class Dataset(InformationContentEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DatasetId): self.id = DatasetId(self.id) @@ -1644,8 +1629,8 @@ class DatasetDistribution(InformationContentEntity): distribution_download_url: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DatasetDistributionId): self.id = DatasetDistributionId(self.id) @@ -1674,8 +1659,8 @@ class DatasetVersion(InformationContentEntity): has_distribution: Optional[Union[str, DatasetDistributionId]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DatasetVersionId): self.id = DatasetVersionId(self.id) @@ -1709,8 +1694,8 @@ class DatasetSummary(InformationContentEntity): source_logo: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DatasetSummaryId): self.id = DatasetSummaryId(self.id) @@ -1739,8 +1724,8 @@ class ConfidenceLevel(InformationContentEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ConfidenceLevelId): self.id = ConfidenceLevelId(self.id) @@ -1763,8 +1748,8 @@ class EvidenceType(InformationContentEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EvidenceTypeId): self.id = EvidenceTypeId(self.id) @@ -1791,8 +1776,8 @@ class InformationResource(InformationContentEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, InformationResourceId): self.id = InformationResourceId(self.id) @@ -1826,47 +1811,37 @@ class Publication(InformationContentEntity): name: Optional[Union[str, LabelType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PublicationId): self.id = PublicationId(self.id) - if self.type is None: - raise ValueError("type must be supplied") + if self._is_empty(self.type): + self.MissingRequiredField("type") if not isinstance(self.type, str): self.type = str(self.type) - if self.authors is None: - self.authors = [] if not isinstance(self.authors, list): - self.authors = [self.authors] + self.authors = [self.authors] if self.authors is not None else [] self.authors = [v if isinstance(v, str) else str(v) for v in self.authors] - if self.pages is None: - self.pages = [] if not isinstance(self.pages, list): - self.pages = [self.pages] + self.pages = [self.pages] if self.pages is not None else [] self.pages = [v if isinstance(v, str) else str(v) for v in self.pages] if self.summary is not None and not isinstance(self.summary, str): self.summary = str(self.summary) - if self.keywords is None: - self.keywords = [] if not isinstance(self.keywords, list): - self.keywords = [self.keywords] + self.keywords = [self.keywords] if self.keywords is not None else [] self.keywords = [v if isinstance(v, str) else str(v) for v in self.keywords] - if self.mesh_terms is None: - self.mesh_terms = [] if not isinstance(self.mesh_terms, list): - self.mesh_terms = [self.mesh_terms] + self.mesh_terms = [self.mesh_terms] if self.mesh_terms is not None else [] self.mesh_terms = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.mesh_terms] - if self.xref is None: - self.xref = [] if not isinstance(self.xref, list): - self.xref = [self.xref] + self.xref = [self.xref] if self.xref is not None else [] self.xref = [v if isinstance(v, IriType) else IriType(v) for v in self.xref] if self.name is not None and not isinstance(self.name, LabelType): @@ -1892,13 +1867,13 @@ class Book(Publication): type: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BookId): self.id = BookId(self.id) - if self.type is None: - raise ValueError("type must be supplied") + if self._is_empty(self.type): + self.MissingRequiredField("type") if not isinstance(self.type, str): self.type = str(self.type) @@ -1922,13 +1897,13 @@ class BookChapter(Publication): chapter: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BookChapterId): self.id = BookChapterId(self.id) - if self.published_in is None: - raise ValueError("published_in must be supplied") + if self._is_empty(self.published_in): + self.MissingRequiredField("published_in") if not isinstance(self.published_in, URIorCURIE): self.published_in = URIorCURIE(self.published_in) @@ -1961,13 +1936,13 @@ class Serial(Publication): issue: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SerialId): self.id = SerialId(self.id) - if self.type is None: - raise ValueError("type must be supplied") + if self._is_empty(self.type): + self.MissingRequiredField("type") if not isinstance(self.type, str): self.type = str(self.type) @@ -2001,13 +1976,13 @@ class Article(Publication): issue: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ArticleId): self.id = ArticleId(self.id) - if self.published_in is None: - raise ValueError("published_in must be supplied") + if self._is_empty(self.published_in): + self.MissingRequiredField("published_in") if not isinstance(self.published_in, URIorCURIE): self.published_in = URIorCURIE(self.published_in) @@ -2063,8 +2038,8 @@ class PhysicalEntity(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PhysicalEntityId): self.id = PhysicalEntityId(self.id) @@ -2112,8 +2087,8 @@ class Activity(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ActivityId): self.id = ActivityId(self.id) @@ -2136,8 +2111,8 @@ class Procedure(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ProcedureId): self.id = ProcedureId(self.id) @@ -2160,8 +2135,8 @@ class Phenomenon(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PhenomenonId): self.id = PhenomenonId(self.id) @@ -2184,8 +2159,8 @@ class Device(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DeviceId): self.id = DeviceId(self.id) @@ -2222,8 +2197,8 @@ class MaterialSample(PhysicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MaterialSampleId): self.id = MaterialSampleId(self.id) @@ -2246,8 +2221,8 @@ class PlanetaryEntity(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PlanetaryEntityId): self.id = PlanetaryEntityId(self.id) @@ -2267,8 +2242,8 @@ class EnvironmentalProcess(PlanetaryEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EnvironmentalProcessId): self.id = EnvironmentalProcessId(self.id) @@ -2288,8 +2263,8 @@ class EnvironmentalFeature(PlanetaryEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EnvironmentalFeatureId): self.id = EnvironmentalFeatureId(self.id) @@ -2314,8 +2289,8 @@ class GeographicLocation(PlanetaryEntity): longitude: Optional[float] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeographicLocationId): self.id = GeographicLocationId(self.id) @@ -2345,8 +2320,8 @@ class GeographicLocationAtTime(GeographicLocation): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeographicLocationAtTimeId): self.id = GeographicLocationAtTimeId(self.id) @@ -2384,10 +2359,8 @@ class ThingWithTaxon(YAMLRoot): in_taxon: Optional[Union[Union[str, OrganismTaxonId], List[Union[str, OrganismTaxonId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.in_taxon is None: - self.in_taxon = [] if not isinstance(self.in_taxon, list): - self.in_taxon = [self.in_taxon] + self.in_taxon = [self.in_taxon] if self.in_taxon is not None else [] self.in_taxon = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.in_taxon] super().__post_init__(**kwargs) @@ -2434,8 +2407,8 @@ class MolecularEntity(ChemicalEntity): is_metabolite: Optional[Union[bool, Bool]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MolecularEntityId): self.id = MolecularEntityId(self.id) @@ -2473,8 +2446,8 @@ class SmallMolecule(MolecularEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SmallMoleculeId): self.id = SmallMoleculeId(self.id) @@ -2497,8 +2470,8 @@ class ChemicalMixture(ChemicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ChemicalMixtureId): self.id = ChemicalMixtureId(self.id) @@ -2524,8 +2497,8 @@ class NucleicAcidEntity(MolecularEntity): has_biological_sequence: Optional[Union[str, BiologicalSequence]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, NucleicAcidEntityId): self.id = NucleicAcidEntityId(self.id) @@ -2552,8 +2525,8 @@ class MolecularMixture(ChemicalMixture): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MolecularMixtureId): self.id = MolecularMixtureId(self.id) @@ -2577,8 +2550,8 @@ class ComplexMolecularMixture(ChemicalMixture): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ComplexMolecularMixtureId): self.id = ComplexMolecularMixtureId(self.id) @@ -2605,27 +2578,21 @@ class BiologicalProcessOrActivity(BiologicalEntity): enabled_by: Optional[Union[Union[str, PhysicalEntityId], List[Union[str, PhysicalEntityId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BiologicalProcessOrActivityId): self.id = BiologicalProcessOrActivityId(self.id) - if self.has_input is None: - self.has_input = [] if not isinstance(self.has_input, list): - self.has_input = [self.has_input] + self.has_input = [self.has_input] if self.has_input is not None else [] self.has_input = [v if isinstance(v, BiologicalProcessOrActivityId) else BiologicalProcessOrActivityId(v) for v in self.has_input] - if self.has_output is None: - self.has_output = [] if not isinstance(self.has_output, list): - self.has_output = [self.has_output] + self.has_output = [self.has_output] if self.has_output is not None else [] self.has_output = [v if isinstance(v, BiologicalProcessOrActivityId) else BiologicalProcessOrActivityId(v) for v in self.has_output] - if self.enabled_by is None: - self.enabled_by = [] if not isinstance(self.enabled_by, list): - self.enabled_by = [self.enabled_by] + self.enabled_by = [self.enabled_by] if self.enabled_by is not None else [] self.enabled_by = [v if isinstance(v, PhysicalEntityId) else PhysicalEntityId(v) for v in self.enabled_by] super().__post_init__(**kwargs) @@ -2650,27 +2617,21 @@ class MolecularActivity(BiologicalProcessOrActivity): enabled_by: Optional[Union[Union[dict, "MacromolecularMachineMixin"], List[Union[dict, "MacromolecularMachineMixin"]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MolecularActivityId): self.id = MolecularActivityId(self.id) - if self.has_input is None: - self.has_input = [] if not isinstance(self.has_input, list): - self.has_input = [self.has_input] + self.has_input = [self.has_input] if self.has_input is not None else [] self.has_input = [v if isinstance(v, MolecularEntityId) else MolecularEntityId(v) for v in self.has_input] - if self.has_output is None: - self.has_output = [] if not isinstance(self.has_output, list): - self.has_output = [self.has_output] + self.has_output = [self.has_output] if self.has_output is not None else [] self.has_output = [v if isinstance(v, MolecularEntityId) else MolecularEntityId(v) for v in self.has_output] - if self.enabled_by is None: - self.enabled_by = [] if not isinstance(self.enabled_by, list): - self.enabled_by = [self.enabled_by] + self.enabled_by = [self.enabled_by] if self.enabled_by is not None else [] self.enabled_by = [v if isinstance(v, MacromolecularMachineMixin) else MacromolecularMachineMixin(**v) for v in self.enabled_by] super().__post_init__(**kwargs) @@ -2692,8 +2653,8 @@ class BiologicalProcess(BiologicalProcessOrActivity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BiologicalProcessId): self.id = BiologicalProcessId(self.id) @@ -2713,8 +2674,8 @@ class Pathway(BiologicalProcess): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PathwayId): self.id = PathwayId(self.id) @@ -2734,8 +2695,8 @@ class PhysiologicalProcess(BiologicalProcess): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PhysiologicalProcessId): self.id = PhysiologicalProcessId(self.id) @@ -2755,8 +2716,8 @@ class Behavior(BiologicalProcess): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BehaviorId): self.id = BehaviorId(self.id) @@ -2776,8 +2737,8 @@ class Death(BiologicalProcess): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DeathId): self.id = DeathId(self.id) @@ -2801,8 +2762,8 @@ class ProcessedMaterial(ChemicalMixture): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ProcessedMaterialId): self.id = ProcessedMaterialId(self.id) @@ -2825,8 +2786,8 @@ class Drug(MolecularMixture): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DrugId): self.id = DrugId(self.id) @@ -2846,8 +2807,8 @@ class EnvironmentalFoodContaminant(ChemicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EnvironmentalFoodContaminantId): self.id = EnvironmentalFoodContaminantId(self.id) @@ -2867,8 +2828,8 @@ class FoodAdditive(ChemicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, FoodAdditiveId): self.id = FoodAdditiveId(self.id) @@ -2888,8 +2849,8 @@ class Nutrient(ChemicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, NutrientId): self.id = NutrientId(self.id) @@ -2909,8 +2870,8 @@ class Macronutrient(Nutrient): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MacronutrientId): self.id = MacronutrientId(self.id) @@ -2930,8 +2891,8 @@ class Micronutrient(Nutrient): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MicronutrientId): self.id = MicronutrientId(self.id) @@ -2951,8 +2912,8 @@ class Vitamin(Micronutrient): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, VitaminId): self.id = VitaminId(self.id) @@ -2975,8 +2936,8 @@ class Food(ChemicalMixture): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, FoodId): self.id = FoodId(self.id) @@ -3044,11 +3005,7 @@ class OrganismalEntity(BiologicalEntity): has_attribute: Optional[Union[Union[dict, Attribute], List[Union[dict, Attribute]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.has_attribute is None: - self.has_attribute = [] - if not isinstance(self.has_attribute, list): - self.has_attribute = [self.has_attribute] - self._normalize_inlined_slot(slot_name="has_attribute", slot_type=Attribute, key_name="has attribute type", inlined_as_list=True, keyed=False) + self._normalize_inlined_as_dict(slot_name="has_attribute", slot_type=Attribute, key_name="has attribute type", keyed=False) super().__post_init__(**kwargs) @@ -3070,15 +3027,13 @@ class LifeStage(OrganismalEntity): in_taxon: Optional[Union[Union[str, OrganismTaxonId], List[Union[str, OrganismTaxonId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, LifeStageId): self.id = LifeStageId(self.id) - if self.in_taxon is None: - self.in_taxon = [] if not isinstance(self.in_taxon, list): - self.in_taxon = [self.in_taxon] + self.in_taxon = [self.in_taxon] if self.in_taxon is not None else [] self.in_taxon = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.in_taxon] super().__post_init__(**kwargs) @@ -3102,15 +3057,13 @@ class IndividualOrganism(OrganismalEntity): in_taxon: Optional[Union[Union[str, OrganismTaxonId], List[Union[str, OrganismTaxonId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, IndividualOrganismId): self.id = IndividualOrganismId(self.id) - if self.in_taxon is None: - self.in_taxon = [] if not isinstance(self.in_taxon, list): - self.in_taxon = [self.in_taxon] + self.in_taxon = [self.in_taxon] if self.in_taxon is not None else [] self.in_taxon = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.in_taxon] super().__post_init__(**kwargs) @@ -3135,15 +3088,13 @@ class PopulationOfIndividualOrganisms(OrganismalEntity): in_taxon: Optional[Union[Union[str, OrganismTaxonId], List[Union[str, OrganismTaxonId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PopulationOfIndividualOrganismsId): self.id = PopulationOfIndividualOrganismsId(self.id) - if self.in_taxon is None: - self.in_taxon = [] if not isinstance(self.in_taxon, list): - self.in_taxon = [self.in_taxon] + self.in_taxon = [self.in_taxon] if self.in_taxon is not None else [] self.in_taxon = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.in_taxon] super().__post_init__(**kwargs) @@ -3165,8 +3116,8 @@ class StudyPopulation(PopulationOfIndividualOrganisms): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, StudyPopulationId): self.id = StudyPopulationId(self.id) @@ -3191,15 +3142,13 @@ class DiseaseOrPhenotypicFeature(BiologicalEntity): in_taxon: Optional[Union[Union[str, OrganismTaxonId], List[Union[str, OrganismTaxonId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DiseaseOrPhenotypicFeatureId): self.id = DiseaseOrPhenotypicFeatureId(self.id) - if self.in_taxon is None: - self.in_taxon = [] if not isinstance(self.in_taxon, list): - self.in_taxon = [self.in_taxon] + self.in_taxon = [self.in_taxon] if self.in_taxon is not None else [] self.in_taxon = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.in_taxon] super().__post_init__(**kwargs) @@ -3218,8 +3167,8 @@ class Disease(DiseaseOrPhenotypicFeature): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DiseaseId): self.id = DiseaseId(self.id) @@ -3239,8 +3188,8 @@ class PhenotypicFeature(DiseaseOrPhenotypicFeature): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PhenotypicFeatureId): self.id = PhenotypicFeatureId(self.id) @@ -3263,8 +3212,8 @@ class BehavioralFeature(PhenotypicFeature): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BehavioralFeatureId): self.id = BehavioralFeatureId(self.id) @@ -3288,15 +3237,13 @@ class AnatomicalEntity(OrganismalEntity): in_taxon: Optional[Union[Union[str, OrganismTaxonId], List[Union[str, OrganismTaxonId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, AnatomicalEntityId): self.id = AnatomicalEntityId(self.id) - if self.in_taxon is None: - self.in_taxon = [] if not isinstance(self.in_taxon, list): - self.in_taxon = [self.in_taxon] + self.in_taxon = [self.in_taxon] if self.in_taxon is not None else [] self.in_taxon = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.in_taxon] super().__post_init__(**kwargs) @@ -3318,8 +3265,8 @@ class CellularComponent(AnatomicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CellularComponentId): self.id = CellularComponentId(self.id) @@ -3339,8 +3286,8 @@ class Cell(AnatomicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CellId): self.id = CellId(self.id) @@ -3360,8 +3307,8 @@ class CellLine(OrganismalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CellLineId): self.id = CellLineId(self.id) @@ -3381,8 +3328,8 @@ class GrossAnatomicalStructure(AnatomicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GrossAnatomicalStructureId): self.id = GrossAnatomicalStructureId(self.id) @@ -3444,30 +3391,24 @@ class Gene(NucleicAcidEntity): xref: Optional[Union[Union[str, IriType], List[Union[str, IriType]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneId): self.id = GeneId(self.id) - if self.in_taxon is None: - self.in_taxon = [] if not isinstance(self.in_taxon, list): - self.in_taxon = [self.in_taxon] + self.in_taxon = [self.in_taxon] if self.in_taxon is not None else [] self.in_taxon = [v if isinstance(v, OrganismTaxonId) else OrganismTaxonId(v) for v in self.in_taxon] if self.symbol is not None and not isinstance(self.symbol, str): self.symbol = str(self.symbol) - if self.synonym is None: - self.synonym = [] if not isinstance(self.synonym, list): - self.synonym = [self.synonym] + self.synonym = [self.synonym] if self.synonym is not None else [] self.synonym = [v if isinstance(v, LabelType) else LabelType(v) for v in self.synonym] - if self.xref is None: - self.xref = [] if not isinstance(self.xref, list): - self.xref = [self.xref] + self.xref = [self.xref] if self.xref is not None else [] self.xref = [v if isinstance(v, IriType) else IriType(v) for v in self.xref] super().__post_init__(**kwargs) @@ -3490,16 +3431,12 @@ class GeneProductMixin(GeneOrGeneProduct): xref: Optional[Union[Union[str, IriType], List[Union[str, IriType]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.synonym is None: - self.synonym = [] if not isinstance(self.synonym, list): - self.synonym = [self.synonym] + self.synonym = [self.synonym] if self.synonym is not None else [] self.synonym = [v if isinstance(v, LabelType) else LabelType(v) for v in self.synonym] - if self.xref is None: - self.xref = [] if not isinstance(self.xref, list): - self.xref = [self.xref] + self.xref = [self.xref] if self.xref is not None else [] self.xref = [v if isinstance(v, IriType) else IriType(v) for v in self.xref] super().__post_init__(**kwargs) @@ -3548,8 +3485,8 @@ class Genome(BiologicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenomeId): self.id = GenomeId(self.id) @@ -3573,8 +3510,8 @@ class Exon(NucleicAcidEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ExonId): self.id = ExonId(self.id) @@ -3597,8 +3534,8 @@ class Transcript(NucleicAcidEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, TranscriptId): self.id = TranscriptId(self.id) @@ -3618,8 +3555,8 @@ class CodingSequence(NucleicAcidEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CodingSequenceId): self.id = CodingSequenceId(self.id) @@ -3644,8 +3581,8 @@ class Polypeptide(MolecularEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PolypeptideId): self.id = PolypeptideId(self.id) @@ -3671,21 +3608,17 @@ class Protein(Polypeptide): xref: Optional[Union[Union[str, IriType], List[Union[str, IriType]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ProteinId): self.id = ProteinId(self.id) - if self.synonym is None: - self.synonym = [] if not isinstance(self.synonym, list): - self.synonym = [self.synonym] + self.synonym = [self.synonym] if self.synonym is not None else [] self.synonym = [v if isinstance(v, LabelType) else LabelType(v) for v in self.synonym] - if self.xref is None: - self.xref = [] if not isinstance(self.xref, list): - self.xref = [self.xref] + self.xref = [self.xref] if self.xref is not None else [] self.xref = [v if isinstance(v, IriType) else IriType(v) for v in self.xref] super().__post_init__(**kwargs) @@ -3708,8 +3641,8 @@ class ProteinIsoform(Protein): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ProteinIsoformId): self.id = ProteinIsoformId(self.id) @@ -3731,21 +3664,17 @@ class RNAProduct(Transcript): xref: Optional[Union[Union[str, IriType], List[Union[str, IriType]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, RNAProductId): self.id = RNAProductId(self.id) - if self.synonym is None: - self.synonym = [] if not isinstance(self.synonym, list): - self.synonym = [self.synonym] + self.synonym = [self.synonym] if self.synonym is not None else [] self.synonym = [v if isinstance(v, LabelType) else LabelType(v) for v in self.synonym] - if self.xref is None: - self.xref = [] if not isinstance(self.xref, list): - self.xref = [self.xref] + self.xref = [self.xref] if self.xref is not None else [] self.xref = [v if isinstance(v, IriType) else IriType(v) for v in self.xref] super().__post_init__(**kwargs) @@ -3767,8 +3696,8 @@ class RNAProductIsoform(RNAProduct): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, RNAProductIsoformId): self.id = RNAProductIsoformId(self.id) @@ -3788,8 +3717,8 @@ class NoncodingRNAProduct(RNAProduct): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, NoncodingRNAProductId): self.id = NoncodingRNAProductId(self.id) @@ -3809,8 +3738,8 @@ class MicroRNA(NoncodingRNAProduct): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MicroRNAId): self.id = MicroRNAId(self.id) @@ -3835,8 +3764,8 @@ class SiRNA(NoncodingRNAProduct): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SiRNAId): self.id = SiRNAId(self.id) @@ -3858,10 +3787,8 @@ class GeneGroupingMixin(YAMLRoot): has_gene_or_gene_product: Optional[Union[Union[str, GeneId], List[Union[str, GeneId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.has_gene_or_gene_product is None: - self.has_gene_or_gene_product = [] if not isinstance(self.has_gene_or_gene_product, list): - self.has_gene_or_gene_product = [self.has_gene_or_gene_product] + self.has_gene_or_gene_product = [self.has_gene_or_gene_product] if self.has_gene_or_gene_product is not None else [] self.has_gene_or_gene_product = [v if isinstance(v, GeneId) else GeneId(v) for v in self.has_gene_or_gene_product] super().__post_init__(**kwargs) @@ -3884,15 +3811,13 @@ class GeneFamily(NucleicAcidEntity): has_gene_or_gene_product: Optional[Union[Union[str, GeneId], List[Union[str, GeneId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneFamilyId): self.id = GeneFamilyId(self.id) - if self.has_gene_or_gene_product is None: - self.has_gene_or_gene_product = [] if not isinstance(self.has_gene_or_gene_product, list): - self.has_gene_or_gene_product = [self.has_gene_or_gene_product] + self.has_gene_or_gene_product = [self.has_gene_or_gene_product] if self.has_gene_or_gene_product is not None else [] self.has_gene_or_gene_product = [v if isinstance(v, GeneId) else GeneId(v) for v in self.has_gene_or_gene_product] super().__post_init__(**kwargs) @@ -3927,8 +3852,8 @@ class Genotype(BiologicalEntity): has_zygosity: Optional[Union[dict, Zygosity]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenotypeId): self.id = GenotypeId(self.id) @@ -3954,8 +3879,8 @@ class Haplotype(BiologicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, HaplotypeId): self.id = HaplotypeId(self.id) @@ -3980,15 +3905,13 @@ class SequenceVariant(NucleicAcidEntity): has_biological_sequence: Optional[Union[str, BiologicalSequence]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SequenceVariantId): self.id = SequenceVariantId(self.id) - if self.has_gene is None: - self.has_gene = [] if not isinstance(self.has_gene, list): - self.has_gene = [self.has_gene] + self.has_gene = [self.has_gene] if self.has_gene is not None else [] self.has_gene = [v if isinstance(v, GeneId) else GeneId(v) for v in self.has_gene] if self.has_biological_sequence is not None and not isinstance(self.has_biological_sequence, BiologicalSequence): @@ -4013,8 +3936,8 @@ class Snv(SequenceVariant): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SnvId): self.id = SnvId(self.id) @@ -4038,8 +3961,8 @@ class ReagentTargetedGene(NucleicAcidEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ReagentTargetedGeneId): self.id = ReagentTargetedGeneId(self.id) @@ -4076,8 +3999,8 @@ class ClinicalMeasurement(ClinicalAttribute): has_attribute_type: Union[dict, OntologyClass] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.has_attribute_type is None: - raise ValueError("has_attribute_type must be supplied") + if self._is_empty(self.has_attribute_type): + self.MissingRequiredField("has_attribute_type") if not isinstance(self.has_attribute_type, OntologyClass): self.has_attribute_type = OntologyClass() @@ -4145,8 +4068,8 @@ class ClinicalEntity(NamedThing): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ClinicalEntityId): self.id = ClinicalEntityId(self.id) @@ -4166,8 +4089,8 @@ class ClinicalTrial(ClinicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ClinicalTrialId): self.id = ClinicalTrialId(self.id) @@ -4187,8 +4110,8 @@ class ClinicalIntervention(ClinicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ClinicalInterventionId): self.id = ClinicalInterventionId(self.id) @@ -4213,16 +4136,12 @@ class ClinicalFinding(PhenotypicFeature): has_attribute: Optional[Union[Union[dict, ClinicalAttribute], List[Union[dict, ClinicalAttribute]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ClinicalFindingId): self.id = ClinicalFindingId(self.id) - if self.has_attribute is None: - self.has_attribute = [] - if not isinstance(self.has_attribute, list): - self.has_attribute = [self.has_attribute] - self._normalize_inlined_slot(slot_name="has_attribute", slot_type=ClinicalAttribute, key_name="has attribute type", inlined_as_list=True, keyed=False) + self._normalize_inlined_as_dict(slot_name="has_attribute", slot_type=ClinicalAttribute, key_name="has attribute type", keyed=False) super().__post_init__(**kwargs) @@ -4240,8 +4159,8 @@ class Hospitalization(ClinicalIntervention): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, HospitalizationId): self.id = HospitalizationId(self.id) @@ -4278,8 +4197,8 @@ class Case(IndividualOrganism): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CaseId): self.id = CaseId(self.id) @@ -4303,8 +4222,8 @@ class Cohort(StudyPopulation): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CohortId): self.id = CohortId(self.id) @@ -4353,18 +4272,16 @@ class GenomicBackgroundExposure(BiologicalEntity): has_gene_or_gene_product: Optional[Union[Union[str, GeneId], List[Union[str, GeneId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenomicBackgroundExposureId): self.id = GenomicBackgroundExposureId(self.id) if self.timepoint is not None and not isinstance(self.timepoint, TimeType): self.timepoint = TimeType(self.timepoint) - if self.has_gene_or_gene_product is None: - self.has_gene_or_gene_product = [] if not isinstance(self.has_gene_or_gene_product, list): - self.has_gene_or_gene_product = [self.has_gene_or_gene_product] + self.has_gene_or_gene_product = [self.has_gene_or_gene_product] if self.has_gene_or_gene_product is not None else [] self.has_gene_or_gene_product = [v if isinstance(v, GeneId) else GeneId(v) for v in self.has_gene_or_gene_product] super().__post_init__(**kwargs) @@ -4399,8 +4316,8 @@ class PathologicalProcess(BiologicalProcess): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PathologicalProcessId): self.id = PathologicalProcessId(self.id) @@ -4425,8 +4342,8 @@ class PathologicalProcessExposure(PathologicalProcess): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PathologicalProcessExposureId): self.id = PathologicalProcessExposureId(self.id) @@ -4453,8 +4370,8 @@ class PathologicalAnatomicalStructure(AnatomicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PathologicalAnatomicalStructureId): self.id = PathologicalAnatomicalStructureId(self.id) @@ -4479,8 +4396,8 @@ class PathologicalAnatomicalExposure(PathologicalAnatomicalStructure): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PathologicalAnatomicalExposureId): self.id = PathologicalAnatomicalExposureId(self.id) @@ -4509,8 +4426,8 @@ class DiseaseOrPhenotypicFeatureExposure(DiseaseOrPhenotypicFeature): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DiseaseOrPhenotypicFeatureExposureId): self.id = DiseaseOrPhenotypicFeatureExposureId(self.id) @@ -4537,8 +4454,8 @@ class ChemicalExposure(ChemicalEntity): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ChemicalExposureId): self.id = ChemicalExposureId(self.id) @@ -4564,8 +4481,8 @@ class ComplexChemicalExposure(ChemicalExposure): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ComplexChemicalExposureId): self.id = ComplexChemicalExposureId(self.id) @@ -4589,8 +4506,8 @@ class DrugExposure(Drug): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DrugExposureId): self.id = DrugExposureId(self.id) @@ -4618,15 +4535,13 @@ class DrugToGeneInteractionExposure(DrugExposure): has_gene_or_gene_product: Optional[Union[Union[str, GeneId], List[Union[str, GeneId]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DrugToGeneInteractionExposureId): self.id = DrugToGeneInteractionExposureId(self.id) - if self.has_gene_or_gene_product is None: - self.has_gene_or_gene_product = [] if not isinstance(self.has_gene_or_gene_product, list): - self.has_gene_or_gene_product = [self.has_gene_or_gene_product] + self.has_gene_or_gene_product = [self.has_gene_or_gene_product] if self.has_gene_or_gene_product is not None else [] self.has_gene_or_gene_product = [v if isinstance(v, GeneId) else GeneId(v) for v in self.has_gene_or_gene_product] super().__post_init__(**kwargs) @@ -4653,27 +4568,21 @@ class Treatment(NamedThing): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, TreatmentId): self.id = TreatmentId(self.id) - if self.has_drug is None: - self.has_drug = [] if not isinstance(self.has_drug, list): - self.has_drug = [self.has_drug] + self.has_drug = [self.has_drug] if self.has_drug is not None else [] self.has_drug = [v if isinstance(v, DrugId) else DrugId(v) for v in self.has_drug] - if self.has_device is None: - self.has_device = [] if not isinstance(self.has_device, list): - self.has_device = [self.has_device] + self.has_device = [self.has_device] if self.has_device is not None else [] self.has_device = [v if isinstance(v, DeviceId) else DeviceId(v) for v in self.has_device] - if self.has_procedure is None: - self.has_procedure = [] if not isinstance(self.has_procedure, list): - self.has_procedure = [self.has_procedure] + self.has_procedure = [self.has_procedure] if self.has_procedure is not None else [] self.has_procedure = [v if isinstance(v, ProcedureId) else ProcedureId(v) for v in self.has_procedure] if self.timepoint is not None and not isinstance(self.timepoint, TimeType): @@ -4699,8 +4608,8 @@ class BioticExposure(OrganismTaxon): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BioticExposureId): self.id = BioticExposureId(self.id) @@ -4727,8 +4636,8 @@ class GeographicExposure(GeographicLocation): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeographicExposureId): self.id = GeographicExposureId(self.id) @@ -4756,8 +4665,8 @@ class EnvironmentalExposure(EnvironmentalProcess): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EnvironmentalExposureId): self.id = EnvironmentalExposureId(self.id) @@ -4784,8 +4693,8 @@ class BehavioralExposure(Behavior): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BehavioralExposureId): self.id = BehavioralExposureId(self.id) @@ -4814,18 +4723,14 @@ class SocioeconomicExposure(Behavior): timepoint: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SocioeconomicExposureId): self.id = SocioeconomicExposureId(self.id) - if self.has_attribute is None: - raise ValueError("has_attribute must be supplied") - elif not isinstance(self.has_attribute, list): - self.has_attribute = [self.has_attribute] - elif len(self.has_attribute) == 0: - raise ValueError(f"has_attribute must be a non-empty list") - self._normalize_inlined_slot(slot_name="has_attribute", slot_type=SocioeconomicAttribute, key_name="has attribute type", inlined_as_list=True, keyed=False) + if self._is_empty(self.has_attribute): + self.MissingRequiredField("has_attribute") + self._normalize_inlined_as_dict(slot_name="has_attribute", slot_type=SocioeconomicAttribute, key_name="has attribute type", keyed=False) if self.timepoint is not None and not isinstance(self.timepoint, TimeType): self.timepoint = TimeType(self.timepoint) @@ -4862,8 +4767,8 @@ class PathologicalProcessOutcome(PathologicalProcess): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PathologicalProcessOutcomeId): self.id = PathologicalProcessOutcomeId(self.id) @@ -4886,8 +4791,8 @@ class PathologicalAnatomicalOutcome(PathologicalAnatomicalStructure): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PathologicalAnatomicalOutcomeId): self.id = PathologicalAnatomicalOutcomeId(self.id) @@ -4911,8 +4816,8 @@ class DiseaseOrPhenotypicFeatureOutcome(DiseaseOrPhenotypicFeature): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DiseaseOrPhenotypicFeatureOutcomeId): self.id = DiseaseOrPhenotypicFeatureOutcomeId(self.id) @@ -4935,8 +4840,8 @@ class BehavioralOutcome(Behavior): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BehavioralOutcomeId): self.id = BehavioralOutcomeId(self.id) @@ -4960,8 +4865,8 @@ class HospitalizationOutcome(Hospitalization): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, HospitalizationOutcomeId): self.id = HospitalizationOutcomeId(self.id) @@ -4984,8 +4889,8 @@ class MortalityOutcome(Death): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MortalityOutcomeId): self.id = MortalityOutcomeId(self.id) @@ -5008,8 +4913,8 @@ class EpidemiologicalOutcome(BiologicalEntity): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, EpidemiologicalOutcomeId): self.id = EpidemiologicalOutcomeId(self.id) @@ -5033,8 +4938,8 @@ class SocioeconomicOutcome(Behavior): category: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SocioeconomicOutcomeId): self.id = SocioeconomicOutcomeId(self.id) @@ -5065,53 +4970,47 @@ class Association(Entity): category: Optional[Union[Union[str, CategoryType], List[Union[str, CategoryType]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, AssociationId): self.id = AssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NamedThingId): self.subject = NamedThingId(self.subject) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, NamedThingId): self.object = NamedThingId(self.object) - if self.relation is None: - raise ValueError("relation must be supplied") + if self._is_empty(self.relation): + self.MissingRequiredField("relation") if not isinstance(self.relation, URIorCURIE): self.relation = URIorCURIE(self.relation) if self.negated is not None and not isinstance(self.negated, Bool): self.negated = Bool(self.negated) - if self.qualifiers is None: - self.qualifiers = [] if not isinstance(self.qualifiers, list): - self.qualifiers = [self.qualifiers] + self.qualifiers = [self.qualifiers] if self.qualifiers is not None else [] self.qualifiers = [v if isinstance(v, OntologyClass) else OntologyClass(**v) for v in self.qualifiers] - if self.publications is None: - self.publications = [] if not isinstance(self.publications, list): - self.publications = [self.publications] + self.publications = [self.publications] if self.publications is not None else [] self.publications = [v if isinstance(v, PublicationId) else PublicationId(v) for v in self.publications] if self.type is not None and not isinstance(self.type, str): self.type = str(self.type) - if self.category is None: - self.category = [] if not isinstance(self.category, list): - self.category = [self.category] + self.category = [self.category] if self.category is not None else [] self.category = [v if isinstance(v, CategoryType) else CategoryType(v) for v in self.category] super().__post_init__(**kwargs) @@ -5137,30 +5036,28 @@ class ContributorAssociation(Association): qualifiers: Optional[Union[Union[dict, OntologyClass], List[Union[dict, OntologyClass]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ContributorAssociationId): self.id = ContributorAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, InformationContentEntityId): self.subject = InformationContentEntityId(self.subject) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, AgentId): self.object = AgentId(self.object) - if self.qualifiers is None: - self.qualifiers = [] if not isinstance(self.qualifiers, list): - self.qualifiers = [self.qualifiers] + self.qualifiers = [self.qualifiers] if self.qualifiers is not None else [] self.qualifiers = [v if isinstance(v, OntologyClass) else OntologyClass(**v) for v in self.qualifiers] super().__post_init__(**kwargs) @@ -5185,23 +5082,23 @@ class GenotypeToGenotypePartAssociation(Association): object: Union[str, GenotypeId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenotypeToGenotypePartAssociationId): self.id = GenotypeToGenotypePartAssociationId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GenotypeId): self.subject = GenotypeId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GenotypeId): self.object = GenotypeId(self.object) @@ -5228,23 +5125,23 @@ class GenotypeToGeneAssociation(Association): object: Union[str, GeneId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenotypeToGeneAssociationId): self.id = GenotypeToGeneAssociationId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GenotypeId): self.subject = GenotypeId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneId): self.object = GeneId(self.object) @@ -5270,23 +5167,23 @@ class GenotypeToVariantAssociation(Association): object: Union[str, SequenceVariantId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenotypeToVariantAssociationId): self.id = GenotypeToVariantAssociationId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GenotypeId): self.subject = GenotypeId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, SequenceVariantId): self.object = SequenceVariantId(self.object) @@ -5313,13 +5210,13 @@ class GeneToGeneAssociation(Association): object: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneOrGeneProduct): self.object = GeneOrGeneProduct(**self.object) @@ -5346,13 +5243,13 @@ class GeneToGeneHomologyAssociation(GeneToGeneAssociation): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneToGeneHomologyAssociationId): self.id = GeneToGeneHomologyAssociationId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -5416,13 +5313,13 @@ class GeneToGeneCoexpressionAssociation(GeneToGeneAssociation): phenotypic_state: Optional[Union[str, DiseaseOrPhenotypicFeatureId]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneToGeneCoexpressionAssociationId): self.id = GeneToGeneCoexpressionAssociationId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -5461,18 +5358,18 @@ class PairwiseGeneToGeneInteraction(GeneToGeneAssociation): relation: Union[str, URIorCURIE] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PairwiseGeneToGeneInteractionId): self.id = PairwiseGeneToGeneInteractionId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.relation is None: - raise ValueError("relation must be supplied") + if self._is_empty(self.relation): + self.MissingRequiredField("relation") if not isinstance(self.relation, URIorCURIE): self.relation = URIorCURIE(self.relation) @@ -5499,28 +5396,28 @@ class PairwiseMolecularInteraction(PairwiseGeneToGeneInteraction): interacting_molecules_category: Optional[Union[dict, OntologyClass]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PairwiseMolecularInteractionId): self.id = PairwiseMolecularInteractionId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, MolecularEntityId): self.subject = MolecularEntityId(self.subject) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.relation is None: - raise ValueError("relation must be supplied") + if self._is_empty(self.relation): + self.MissingRequiredField("relation") if not isinstance(self.relation, URIorCURIE): self.relation = URIorCURIE(self.relation) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, MolecularEntityId): self.object = MolecularEntityId(self.object) @@ -5545,8 +5442,8 @@ class CellLineToEntityAssociationMixin(YAMLRoot): subject: Union[str, CellLineId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, CellLineId): self.subject = CellLineId(self.subject) @@ -5573,13 +5470,13 @@ class CellLineToDiseaseOrPhenotypicFeatureAssociation(Association): subject: Union[str, DiseaseOrPhenotypicFeatureId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CellLineToDiseaseOrPhenotypicFeatureAssociationId): self.id = CellLineToDiseaseOrPhenotypicFeatureAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, DiseaseOrPhenotypicFeatureId): self.subject = DiseaseOrPhenotypicFeatureId(self.subject) @@ -5601,8 +5498,8 @@ class ChemicalEntityToEntityAssociationMixin(YAMLRoot): subject: Union[str, ChemicalEntityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, ChemicalEntityId): self.subject = ChemicalEntityId(self.subject) @@ -5624,8 +5521,8 @@ class DrugToEntityAssociationMixin(ChemicalEntityToEntityAssociationMixin): subject: Union[str, DrugId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, DrugId): self.subject = DrugId(self.subject) @@ -5647,8 +5544,8 @@ class ChemicalToEntityAssociationMixin(ChemicalEntityToEntityAssociationMixin): subject: Union[str, ChemicalEntityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, ChemicalEntityId): self.subject = ChemicalEntityId(self.subject) @@ -5670,8 +5567,8 @@ class CaseToEntityAssociationMixin(YAMLRoot): subject: Union[str, CaseId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, CaseId): self.subject = CaseId(self.subject) @@ -5698,13 +5595,13 @@ class ChemicalToChemicalAssociation(Association): object: Union[str, ChemicalEntityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ChemicalToChemicalAssociationId): self.id = ChemicalToChemicalAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, ChemicalEntityId): self.object = ChemicalEntityId(self.object) @@ -5730,13 +5627,13 @@ class ReactionToParticipantAssociation(ChemicalToChemicalAssociation): reaction_side: Optional[Union[str, "ReactionSideEnum"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ReactionToParticipantAssociationId): self.id = ReactionToParticipantAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, MolecularEntityId): self.subject = MolecularEntityId(self.subject) @@ -5768,13 +5665,13 @@ class ReactionToCatalystAssociation(ReactionToParticipantAssociation): object: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ReactionToCatalystAssociationId): self.id = ReactionToCatalystAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneOrGeneProduct): self.object = GeneOrGeneProduct(**self.object) @@ -5809,30 +5706,28 @@ class ChemicalToChemicalDerivationAssociation(ChemicalToChemicalAssociation): catalyst_qualifier: Optional[Union[Union[dict, MacromolecularMachineMixin], List[Union[dict, MacromolecularMachineMixin]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ChemicalToChemicalDerivationAssociationId): self.id = ChemicalToChemicalDerivationAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, ChemicalEntityId): self.subject = ChemicalEntityId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, ChemicalEntityId): self.object = ChemicalEntityId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.catalyst_qualifier is None: - self.catalyst_qualifier = [] if not isinstance(self.catalyst_qualifier, list): - self.catalyst_qualifier = [self.catalyst_qualifier] + self.catalyst_qualifier = [self.catalyst_qualifier] if self.catalyst_qualifier is not None else [] self.catalyst_qualifier = [v if isinstance(v, MacromolecularMachineMixin) else MacromolecularMachineMixin(**v) for v in self.catalyst_qualifier] super().__post_init__(**kwargs) @@ -5858,13 +5753,13 @@ class ChemicalToDiseaseOrPhenotypicFeatureAssociation(Association): object: Union[str, DiseaseOrPhenotypicFeatureId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ChemicalToDiseaseOrPhenotypicFeatureAssociationId): self.id = ChemicalToDiseaseOrPhenotypicFeatureAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, DiseaseOrPhenotypicFeatureId): self.object = DiseaseOrPhenotypicFeatureId(self.object) @@ -5890,13 +5785,13 @@ class ChemicalToPathwayAssociation(Association): object: Union[str, PathwayId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ChemicalToPathwayAssociationId): self.id = ChemicalToPathwayAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, PathwayId): self.object = PathwayId(self.object) @@ -5922,13 +5817,13 @@ class ChemicalToGeneAssociation(Association): object: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ChemicalToGeneAssociationId): self.id = ChemicalToGeneAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneOrGeneProduct): self.object = GeneOrGeneProduct(**self.object) @@ -5954,13 +5849,13 @@ class DrugToGeneAssociation(Association): object: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DrugToGeneAssociationId): self.id = DrugToGeneAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneOrGeneProduct): self.object = GeneOrGeneProduct(**self.object) @@ -5982,8 +5877,8 @@ class MaterialSampleToEntityAssociationMixin(YAMLRoot): subject: Union[str, MaterialSampleId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, MaterialSampleId): self.subject = MaterialSampleId(self.subject) @@ -6009,23 +5904,23 @@ class MaterialSampleDerivationAssociation(Association): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MaterialSampleDerivationAssociationId): self.id = MaterialSampleDerivationAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, MaterialSampleId): self.subject = MaterialSampleId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, NamedThingId): self.object = NamedThingId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -6051,8 +5946,8 @@ class MaterialSampleToDiseaseOrPhenotypicFeatureAssociation(Association): relation: Union[str, URIorCURIE] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MaterialSampleToDiseaseOrPhenotypicFeatureAssociationId): self.id = MaterialSampleToDiseaseOrPhenotypicFeatureAssociationId(self.id) @@ -6071,8 +5966,8 @@ class DiseaseToEntityAssociationMixin(YAMLRoot): subject: Union[str, DiseaseId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, DiseaseId): self.subject = DiseaseId(self.subject) @@ -6094,8 +5989,8 @@ class EntityToExposureEventAssociationMixin(YAMLRoot): object: Union[dict, ExposureEvent] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, ExposureEvent): self.object = ExposureEvent(**self.object) @@ -6121,8 +6016,8 @@ class DiseaseToExposureEventAssociation(Association): relation: Union[str, URIorCURIE] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DiseaseToExposureEventAssociationId): self.id = DiseaseToExposureEventAssociationId(self.id) @@ -6144,8 +6039,8 @@ class ExposureEventToEntityAssociationMixin(YAMLRoot): subject: Union[dict, ExposureEvent] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, ExposureEvent): self.subject = ExposureEvent(**self.subject) @@ -6167,8 +6062,8 @@ class EntityToOutcomeAssociationMixin(YAMLRoot): object: Union[dict, Outcome] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, Outcome): self.object = Outcome() @@ -6196,8 +6091,8 @@ class ExposureEventToOutcomeAssociation(Association): has_temporal_context: Optional[Union[str, TimeType]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ExposureEventToOutcomeAssociationId): self.id = ExposureEventToOutcomeAssociationId(self.id) @@ -6270,8 +6165,8 @@ class EntityToPhenotypicFeatureAssociationMixin(EntityToFeatureOrDiseaseQualifie description: Optional[Union[str, NarrativeText]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, PhenotypicFeatureId): self.object = PhenotypicFeatureId(self.object) @@ -6308,23 +6203,23 @@ class NamedThingToInformationContentEntityAssociation(Association): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, NamedThingToInformationContentEntityAssociationId): self.id = NamedThingToInformationContentEntityAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NamedThingId): self.subject = NamedThingId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, PublicationId): self.object = PublicationId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -6346,8 +6241,8 @@ class EntityToDiseaseAssociationMixin(EntityToFeatureOrDiseaseQualifiersMixin): object: Union[str, DiseaseId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, DiseaseId): self.object = DiseaseId(self.object) @@ -6366,8 +6261,8 @@ class DiseaseOrPhenotypicFeatureToEntityAssociationMixin(YAMLRoot): subject: Union[str, DiseaseOrPhenotypicFeatureId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, DiseaseOrPhenotypicFeatureId): self.subject = DiseaseOrPhenotypicFeatureId(self.subject) @@ -6394,13 +6289,13 @@ class DiseaseOrPhenotypicFeatureToLocationAssociation(Association): object: Union[str, AnatomicalEntityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DiseaseOrPhenotypicFeatureToLocationAssociationId): self.id = DiseaseOrPhenotypicFeatureToLocationAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, AnatomicalEntityId): self.object = AnatomicalEntityId(self.object) @@ -6419,8 +6314,8 @@ class EntityToDiseaseOrPhenotypicFeatureAssociationMixin(YAMLRoot): object: Union[str, DiseaseOrPhenotypicFeatureId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, DiseaseOrPhenotypicFeatureId): self.object = DiseaseOrPhenotypicFeatureId(self.object) @@ -6439,8 +6334,8 @@ class GenotypeToEntityAssociationMixin(YAMLRoot): subject: Union[str, GenotypeId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GenotypeId): self.subject = GenotypeId(self.subject) @@ -6468,18 +6363,18 @@ class GenotypeToPhenotypicFeatureAssociation(Association): sex_qualifier: Optional[Union[dict, BiologicalSex]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenotypeToPhenotypicFeatureAssociationId): self.id = GenotypeToPhenotypicFeatureAssociationId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GenotypeId): self.subject = GenotypeId(self.subject) @@ -6510,13 +6405,13 @@ class ExposureEventToPhenotypicFeatureAssociation(Association): sex_qualifier: Optional[Union[dict, BiologicalSex]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ExposureEventToPhenotypicFeatureAssociationId): self.id = ExposureEventToPhenotypicFeatureAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, ExposureEvent): self.subject = ExposureEvent(**self.subject) @@ -6547,8 +6442,8 @@ class DiseaseToPhenotypicFeatureAssociation(Association): sex_qualifier: Optional[Union[dict, BiologicalSex]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, DiseaseToPhenotypicFeatureAssociationId): self.id = DiseaseToPhenotypicFeatureAssociationId(self.id) @@ -6579,8 +6474,8 @@ class CaseToPhenotypicFeatureAssociation(Association): sex_qualifier: Optional[Union[dict, BiologicalSex]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CaseToPhenotypicFeatureAssociationId): self.id = CaseToPhenotypicFeatureAssociationId(self.id) @@ -6611,18 +6506,18 @@ class BehaviorToBehavioralFeatureAssociation(Association): sex_qualifier: Optional[Union[dict, BiologicalSex]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, BehaviorToBehavioralFeatureAssociationId): self.id = BehaviorToBehavioralFeatureAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, BehaviorId): self.subject = BehaviorId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, BehavioralFeatureId): self.object = BehavioralFeatureId(self.object) @@ -6644,8 +6539,8 @@ class GeneToEntityAssociationMixin(YAMLRoot): subject: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) @@ -6664,8 +6559,8 @@ class VariantToEntityAssociationMixin(YAMLRoot): subject: Union[str, SequenceVariantId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, SequenceVariantId): self.subject = SequenceVariantId(self.subject) @@ -6689,13 +6584,13 @@ class GeneToPhenotypicFeatureAssociation(Association): sex_qualifier: Optional[Union[dict, BiologicalSex]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneToPhenotypicFeatureAssociationId): self.id = GeneToPhenotypicFeatureAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) @@ -6721,13 +6616,13 @@ class GeneToDiseaseAssociation(Association): subject: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneToDiseaseAssociationId): self.id = GeneToDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) @@ -6754,18 +6649,18 @@ class VariantToGeneAssociation(Association): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, VariantToGeneAssociationId): self.id = VariantToGeneAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneId): self.object = GeneId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -6795,13 +6690,13 @@ class VariantToGeneExpressionAssociation(VariantToGeneAssociation): phenotypic_state: Optional[Union[str, DiseaseOrPhenotypicFeatureId]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, VariantToGeneExpressionAssociationId): self.id = VariantToGeneExpressionAssociationId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -6844,18 +6739,18 @@ class VariantToPopulationAssociation(Association): frequency_qualifier: Optional[Union[str, FrequencyValue]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, VariantToPopulationAssociationId): self.id = VariantToPopulationAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, SequenceVariantId): self.subject = SequenceVariantId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, PopulationOfIndividualOrganismsId): self.object = PopulationOfIndividualOrganismsId(self.object) @@ -6896,23 +6791,23 @@ class PopulationToPopulationAssociation(Association): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, PopulationToPopulationAssociationId): self.id = PopulationToPopulationAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, PopulationOfIndividualOrganismsId): self.subject = PopulationOfIndividualOrganismsId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, PopulationOfIndividualOrganismsId): self.object = PopulationOfIndividualOrganismsId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -6936,13 +6831,13 @@ class VariantToPhenotypicFeatureAssociation(Association): sex_qualifier: Optional[Union[dict, BiologicalSex]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, VariantToPhenotypicFeatureAssociationId): self.id = VariantToPhenotypicFeatureAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, SequenceVariantId): self.subject = SequenceVariantId(self.subject) @@ -6968,23 +6863,23 @@ class VariantToDiseaseAssociation(Association): object: Union[str, NamedThingId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, VariantToDiseaseAssociationId): self.id = VariantToDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NamedThingId): self.subject = NamedThingId(self.subject) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, NamedThingId): self.object = NamedThingId(self.object) @@ -7007,23 +6902,23 @@ class GenotypeToDiseaseAssociation(Association): object: Union[str, NamedThingId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenotypeToDiseaseAssociationId): self.id = GenotypeToDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NamedThingId): self.subject = NamedThingId(self.subject) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, NamedThingId): self.object = NamedThingId(self.object) @@ -7048,13 +6943,13 @@ class ModelToDiseaseAssociationMixin(YAMLRoot): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NamedThingId): self.subject = NamedThingId(self.subject) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -7077,13 +6972,13 @@ class GeneAsAModelOfDiseaseAssociation(GeneToDiseaseAssociation): subject: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneAsAModelOfDiseaseAssociationId): self.id = GeneAsAModelOfDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) @@ -7106,13 +7001,13 @@ class VariantAsAModelOfDiseaseAssociation(VariantToDiseaseAssociation): subject: Union[str, SequenceVariantId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, VariantAsAModelOfDiseaseAssociationId): self.id = VariantAsAModelOfDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, SequenceVariantId): self.subject = SequenceVariantId(self.subject) @@ -7135,13 +7030,13 @@ class GenotypeAsAModelOfDiseaseAssociation(GenotypeToDiseaseAssociation): subject: Union[str, GenotypeId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenotypeAsAModelOfDiseaseAssociationId): self.id = GenotypeAsAModelOfDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GenotypeId): self.subject = GenotypeId(self.subject) @@ -7164,13 +7059,13 @@ class CellLineAsAModelOfDiseaseAssociation(CellLineToDiseaseOrPhenotypicFeatureA subject: Union[str, CellLineId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, CellLineAsAModelOfDiseaseAssociationId): self.id = CellLineAsAModelOfDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, CellLineId): self.subject = CellLineId(self.subject) @@ -7193,13 +7088,13 @@ class OrganismalEntityAsAModelOfDiseaseAssociation(Association): subject: Union[str, OrganismalEntityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, OrganismalEntityAsAModelOfDiseaseAssociationId): self.id = OrganismalEntityAsAModelOfDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, OrganismalEntityId): self.subject = OrganismalEntityId(self.subject) @@ -7222,23 +7117,23 @@ class OrganismToOrganismAssociation(Association): object: Union[str, IndividualOrganismId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, OrganismToOrganismAssociationId): self.id = OrganismToOrganismAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, IndividualOrganismId): self.subject = IndividualOrganismId(self.subject) - if self.relation is None: - raise ValueError("relation must be supplied") + if self._is_empty(self.relation): + self.MissingRequiredField("relation") if not isinstance(self.relation, URIorCURIE): self.relation = URIorCURIE(self.relation) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, IndividualOrganismId): self.object = IndividualOrganismId(self.object) @@ -7261,23 +7156,23 @@ class TaxonToTaxonAssociation(Association): object: Union[str, OrganismTaxonId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, TaxonToTaxonAssociationId): self.id = TaxonToTaxonAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, OrganismTaxonId): self.subject = OrganismTaxonId(self.subject) - if self.relation is None: - raise ValueError("relation must be supplied") + if self._is_empty(self.relation): + self.MissingRequiredField("relation") if not isinstance(self.relation, URIorCURIE): self.relation = URIorCURIE(self.relation) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, OrganismTaxonId): self.object = OrganismTaxonId(self.object) @@ -7301,13 +7196,13 @@ class GeneHasVariantThatContributesToDiseaseAssociation(GeneToDiseaseAssociation sequence_variant_qualifier: Optional[Union[str, SequenceVariantId]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneHasVariantThatContributesToDiseaseAssociationId): self.id = GeneHasVariantThatContributesToDiseaseAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) @@ -7338,23 +7233,23 @@ class GeneToExpressionSiteAssociation(Association): quantifier_qualifier: Optional[Union[dict, OntologyClass]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneToExpressionSiteAssociationId): self.id = GeneToExpressionSiteAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, AnatomicalEntityId): self.object = AnatomicalEntityId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -7387,13 +7282,13 @@ class SequenceVariantModulatesTreatmentAssociation(Association): object: Union[str, TreatmentId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, SequenceVariantId): self.subject = SequenceVariantId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, TreatmentId): self.object = TreatmentId(self.object) @@ -7420,18 +7315,18 @@ class FunctionalAssociation(Association): object: Union[dict, GeneOntologyClass] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, FunctionalAssociationId): self.id = FunctionalAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, MacromolecularMachineMixin): self.subject = MacromolecularMachineMixin(**self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneOntologyClass): self.object = GeneOntologyClass() @@ -7453,8 +7348,8 @@ class MacromolecularMachineToEntityAssociationMixin(YAMLRoot): subject: Union[str, NamedThingId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NamedThingId): self.subject = NamedThingId(self.subject) @@ -7482,13 +7377,13 @@ class MacromolecularMachineToMolecularActivityAssociation(FunctionalAssociation) object: Union[str, MolecularActivityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MacromolecularMachineToMolecularActivityAssociationId): self.id = MacromolecularMachineToMolecularActivityAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, MolecularActivityId): self.object = MolecularActivityId(self.object) @@ -7516,13 +7411,13 @@ class MacromolecularMachineToBiologicalProcessAssociation(FunctionalAssociation) object: Union[str, BiologicalProcessId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MacromolecularMachineToBiologicalProcessAssociationId): self.id = MacromolecularMachineToBiologicalProcessAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, BiologicalProcessId): self.object = BiologicalProcessId(self.object) @@ -7550,13 +7445,13 @@ class MacromolecularMachineToCellularComponentAssociation(FunctionalAssociation) object: Union[str, CellularComponentId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, MacromolecularMachineToCellularComponentAssociationId): self.id = MacromolecularMachineToCellularComponentAssociationId(self.id) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, CellularComponentId): self.object = CellularComponentId(self.object) @@ -7579,18 +7474,18 @@ class GeneToGoTermAssociation(FunctionalAssociation): object: Union[dict, GeneOntologyClass] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneToGoTermAssociationId): self.id = GeneToGoTermAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneId): self.subject = GeneId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneOntologyClass): self.object = GeneOntologyClass() @@ -7616,8 +7511,8 @@ class SequenceAssociation(Association): relation: Union[str, URIorCURIE] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SequenceAssociationId): self.id = SequenceAssociationId(self.id) @@ -7649,23 +7544,23 @@ class GenomicSequenceLocalization(SequenceAssociation): phase: Optional[Union[str, "PhaseEnum"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GenomicSequenceLocalizationId): self.id = GenomicSequenceLocalizationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NucleicAcidEntityId): self.subject = NucleicAcidEntityId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, NucleicAcidEntityId): self.object = NucleicAcidEntityId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -7706,18 +7601,18 @@ class SequenceFeatureRelationship(Association): object: Union[str, NucleicAcidEntityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, SequenceFeatureRelationshipId): self.id = SequenceFeatureRelationshipId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, NucleicAcidEntityId): self.subject = NucleicAcidEntityId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, NucleicAcidEntityId): self.object = NucleicAcidEntityId(self.object) @@ -7743,18 +7638,18 @@ class TranscriptToGeneRelationship(SequenceFeatureRelationship): object: Union[str, GeneId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, TranscriptToGeneRelationshipId): self.id = TranscriptToGeneRelationshipId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, TranscriptId): self.subject = TranscriptId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneId): self.object = GeneId(self.object) @@ -7780,23 +7675,23 @@ class GeneToGeneProductRelationship(SequenceFeatureRelationship): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneToGeneProductRelationshipId): self.id = GeneToGeneProductRelationshipId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneId): self.subject = GeneId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneProductMixin): self.object = GeneProductMixin(**self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -7822,18 +7717,18 @@ class ExonToTranscriptRelationship(SequenceFeatureRelationship): object: Union[str, TranscriptId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, ExonToTranscriptRelationshipId): self.id = ExonToTranscriptRelationshipId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, ExonId): self.subject = ExonId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, TranscriptId): self.object = TranscriptId(self.object) @@ -7859,23 +7754,23 @@ class GeneRegulatoryRelationship(Association): object: Union[dict, GeneOrGeneProduct] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, GeneRegulatoryRelationshipId): self.id = GeneRegulatoryRelationshipId(self.id) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, GeneOrGeneProduct): self.subject = GeneOrGeneProduct(**self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, GeneOrGeneProduct): self.object = GeneOrGeneProduct(**self.object) @@ -7898,13 +7793,13 @@ class AnatomicalEntityToAnatomicalEntityAssociation(Association): object: Union[str, AnatomicalEntityId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, AnatomicalEntityId): self.subject = AnatomicalEntityId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, AnatomicalEntityId): self.object = AnatomicalEntityId(self.object) @@ -7932,23 +7827,23 @@ class AnatomicalEntityToAnatomicalEntityPartOfAssociation(AnatomicalEntityToAnat predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, AnatomicalEntityToAnatomicalEntityPartOfAssociationId): self.id = AnatomicalEntityToAnatomicalEntityPartOfAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, AnatomicalEntityId): self.subject = AnatomicalEntityId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, AnatomicalEntityId): self.object = AnatomicalEntityId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -7976,23 +7871,23 @@ class AnatomicalEntityToAnatomicalEntityOntogenicAssociation(AnatomicalEntityToA predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, AnatomicalEntityToAnatomicalEntityOntogenicAssociationId): self.id = AnatomicalEntityToAnatomicalEntityOntogenicAssociationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, AnatomicalEntityId): self.subject = AnatomicalEntityId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, AnatomicalEntityId): self.object = AnatomicalEntityId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -8014,8 +7909,8 @@ class OrganismTaxonToEntityAssociation(YAMLRoot): subject: Union[str, OrganismTaxonId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, OrganismTaxonId): self.subject = OrganismTaxonId(self.subject) @@ -8041,13 +7936,13 @@ class OrganismTaxonToOrganismTaxonAssociation(Association): object: Union[str, OrganismTaxonId] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, OrganismTaxonId): self.subject = OrganismTaxonId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, OrganismTaxonId): self.object = OrganismTaxonId(self.object) @@ -8073,23 +7968,23 @@ class OrganismTaxonToOrganismTaxonSpecialization(OrganismTaxonToOrganismTaxonAss predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, OrganismTaxonToOrganismTaxonSpecializationId): self.id = OrganismTaxonToOrganismTaxonSpecializationId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, OrganismTaxonId): self.subject = OrganismTaxonId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, OrganismTaxonId): self.object = OrganismTaxonId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -8118,23 +8013,23 @@ class OrganismTaxonToOrganismTaxonInteraction(OrganismTaxonToOrganismTaxonAssoci associated_environmental_context: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.id is None: - raise ValueError("id must be supplied") + if self._is_empty(self.id): + self.MissingRequiredField("id") if not isinstance(self.id, OrganismTaxonToOrganismTaxonInteractionId): self.id = OrganismTaxonToOrganismTaxonInteractionId(self.id) - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, OrganismTaxonId): self.subject = OrganismTaxonId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, OrganismTaxonId): self.object = OrganismTaxonId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) @@ -8160,18 +8055,18 @@ class OrganismTaxonToEnvironmentAssociation(Association): predicate: Union[str, PredicateType] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subject is None: - raise ValueError("subject must be supplied") + if self._is_empty(self.subject): + self.MissingRequiredField("subject") if not isinstance(self.subject, OrganismTaxonId): self.subject = OrganismTaxonId(self.subject) - if self.object is None: - raise ValueError("object must be supplied") + if self._is_empty(self.object): + self.MissingRequiredField("object") if not isinstance(self.object, NamedThingId): self.object = NamedThingId(self.object) - if self.predicate is None: - raise ValueError("predicate must be supplied") + if self._is_empty(self.predicate): + self.MissingRequiredField("predicate") if not isinstance(self.predicate, PredicateType): self.predicate = PredicateType(self.predicate) diff --git a/context.jsonld b/context.jsonld index 1401a58ba4..816a20ec58 100644 --- a/context.jsonld +++ b/context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from biolink-model.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2021-06-16 00:19\n Schema: Biolink-Model\n \n id: https://w3id.org/biolink/biolink-model\n description: Entity and association taxonomy and datamodel for life-sciences data\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from biolink-model.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2021-06-16 00:32\n Schema: Biolink-Model\n \n id: https://w3id.org/biolink/biolink-model\n description: Entity and association taxonomy and datamodel for life-sciences data\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "APO": { "@id": "http://purl.obolibrary.org/obo/APO_", diff --git a/contextn.jsonld b/contextn.jsonld index 30bc7e5f13..40646bdd16 100644 --- a/contextn.jsonld +++ b/contextn.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from biolink-model.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2021-06-16 00:19\n Schema: Biolink-Model\n \n id: https://w3id.org/biolink/biolink-model\n description: Entity and association taxonomy and datamodel for life-sciences data\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from biolink-model.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2021-06-16 00:32\n Schema: Biolink-Model\n \n id: https://w3id.org/biolink/biolink-model\n description: Entity and association taxonomy and datamodel for life-sciences data\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "APO": { "@id": "http://purl.obolibrary.org/obo/APO_",