diff --git a/erdiagram-autogen/genome_annotation.md b/erdiagram-autogen/genome_annotation.md index eccb1c22a..a72beba43 100644 --- a/erdiagram-autogen/genome_annotation.md +++ b/erdiagram-autogen/genome_annotation.md @@ -9,7 +9,7 @@ GenomeAssembly { label_type in_taxon_label string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -27,7 +27,7 @@ GenomeAnnotation { string reference_assembly string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -45,7 +45,7 @@ GeneAnnotation { string referenced_in string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description diff --git a/erdiagram-autogen/library_generation.md b/erdiagram-autogen/library_generation.md index c0803fcc1..81de3ca09 100644 --- a/erdiagram-autogen/library_generation.md +++ b/erdiagram-autogen/library_generation.md @@ -6,7 +6,7 @@ DigitalAsset { string data_type string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -30,7 +30,7 @@ DissectionRoiPolygon { label_type name string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -39,7 +39,7 @@ LibraryPooling { string process_date string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -56,7 +56,7 @@ LibraryConstruction { string set string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -72,7 +72,7 @@ CdnaAmplification { string set string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -89,7 +89,7 @@ CellBarcoding { barcoded_cell_sample_technique method string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -102,7 +102,7 @@ CellBarcoding { EnrichedCellSampleSplitting { string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -116,7 +116,7 @@ CellEnrichment { string process_date string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -130,7 +130,7 @@ CellDissociation { string process_date string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -143,7 +143,7 @@ CellDissociation { TissueDissection { string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -156,7 +156,7 @@ TissueDissection { DissectionRoiDelineation { string id iri_type iri - uriorcurieList category + curieList category stringList type label_type name narrative_text description @@ -171,7 +171,7 @@ LibraryPool { string local_tube_id string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -184,7 +184,7 @@ LibraryAliquot { label_type name string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -203,7 +203,7 @@ Library { library_r1_r2_index r1_r2_index string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -219,7 +219,7 @@ AmplifiedCdna { float percent_cdna_longer_than_400bp string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -233,7 +233,7 @@ BarcodedCellSample { integer number_of_expected_cells string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -249,7 +249,7 @@ EnrichedCellSample { string histone_modification_marker string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -264,7 +264,7 @@ DissociatedCellSample { dissociated_cell_sample_cell_label_barcode cell_source_oligo_name string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -278,7 +278,7 @@ TissueSample { stringList structure string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -291,7 +291,7 @@ BrainSlab { label_type name string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated @@ -311,7 +311,7 @@ Donor { label_type in_taxon_label string id iri_type iri - uriorcurieList category + curieList category stringList type narrative_text description boolean deprecated diff --git a/json-schema-autogen/genome_annotation.json b/json-schema-autogen/genome_annotation.json index 1a3e79cb3..08abd733c 100644 --- a/json-schema-autogen/genome_annotation.json +++ b/json-schema-autogen/genome_annotation.json @@ -5,11 +5,12 @@ "description": "An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Activity" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -110,11 +111,12 @@ "description": "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.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Attribute" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -223,11 +225,12 @@ "description": "Checksum values associated with digital entities.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:Checksum" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -285,11 +288,12 @@ "description": "an item that refers to a collection of data from a data source.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Dataset" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -388,11 +392,12 @@ "description": "A region (or regions) that includes all of the sequence elements necessary to encode a functional transcript. A gene locus may include regulatory regions, transcribed regions and/or other functional sequence regions.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Gene" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -486,11 +491,12 @@ "description": "An annotation describing the location, boundaries, and functions of individual genes within a genome annotation.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:GeneAnnotation" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -612,11 +618,12 @@ "description": "A genome is the sum of genetic material within a cell or virion.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Genome" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -710,11 +717,12 @@ "description": "The organization responsible for publishing the data." }, "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:GenomeAnnotation" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -841,11 +849,12 @@ "description": "Genome assembly to contain version and label information", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:GenomeAssembly" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -938,11 +947,12 @@ "description": "A sample is a limited quantity of something (e.g. an individual or set of individuals from a population, or a portion of a substance) to be used for testing, analysis, inspection, investigation, demonstration, or trial use. [SIO]", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:MaterialSample" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -1017,11 +1027,12 @@ "description": "a databased entity or concept/class", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:NamedThing" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -1096,11 +1107,12 @@ "description": "A classification of a set of organisms. Example instances: NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria). Can also be used to represent strains or subspecies.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:OrganismTaxon" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -1178,11 +1190,12 @@ "description": "An entity that has material reality (a.k.a. physical essence).", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:PhysicalEntity" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -1257,11 +1270,12 @@ "description": "A series of actions conducted in a certain order or manner", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Procedure" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" diff --git a/json-schema-autogen/library_generation.json b/json-schema-autogen/library_generation.json index 217dda8e8..4c2a9c0ec 100644 --- a/json-schema-autogen/library_generation.json +++ b/json-schema-autogen/library_generation.json @@ -5,11 +5,12 @@ "description": "An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Activity" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -115,7 +116,7 @@ "type": "number" }, "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:AmplifiedCdna" ], @@ -214,11 +215,12 @@ "description": "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.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Attribute" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -309,7 +311,7 @@ "description": "A collection of molecularly barcoded cells. Input will be either dissociated cell sample or enriched cell sample. Cell barcodes are only guaranteed to be unique within this one collection. One dissociated cell sample or enriched cell sample can lead to multiple barcoded cell samples. The sequences of the molecular barcodes are revealed during alignment of the resulting fastq files for the barcoded cell sample. The barcoded cell sample name and the cell level molecular barcode together uniquely identify a single cell.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:BarcodedCellSample" ], @@ -423,7 +425,7 @@ "description": "A thick flat piece of brain tissue obtained by slicing a whole brain, brain hemisphere or subdivision with a blade at regular interval. When multiple brain slabs are obtained from the slicing process, an ordinal is assigned to provide information about the relative positioning of the slabs.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:BrainSlab" ], @@ -532,7 +534,7 @@ "type": "string" }, "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:CdnaAmplification" ], @@ -624,7 +626,7 @@ "type": "string" }, "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:CellBarcoding" ], @@ -727,7 +729,7 @@ "description": "The process of generating dissociated cells from an input tissue sample. This process could also introduce a tissue-source barcode (eg cell hashing), allowing mixing of cell dissociation samples at the cell barcoding step.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:CellDissociation" ], @@ -818,7 +820,7 @@ "description": "The process of enriching a dissociated cell sample by including or excluding cells of different types based on an enrichment plan using techniques such as fluorescence-activated cell sorting (FACS). This process could also introduce a tissue-source barcode (eg cell hashing), allowing mixing of cell enriched samples at the cell barcoding step.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:CellEnrichment" ], @@ -909,11 +911,12 @@ "description": "Checksum values associated with digital entities.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:Checksum" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -971,11 +974,12 @@ "description": "an item that refers to a collection of data from a data source.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Dataset" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -1074,7 +1078,7 @@ "description": "", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:DigitalAsset" ], @@ -1190,7 +1194,7 @@ "description": "The process of outlining a region of interest on a brain slab image to guide the dissection and generation of a tissue sample.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:DissectionRoiDelineation" ], @@ -1278,7 +1282,7 @@ "type": "string" }, "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:DissectionRoiPolygon" ], @@ -1341,7 +1345,7 @@ "description": "A collection of dissociated cells or nuclei derived from dissociation of a tissue sample.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:DissociatedCellSample" ], @@ -1498,7 +1502,7 @@ "description": "Biological sex of donor at birth" }, "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:Donor" ], @@ -1601,7 +1605,7 @@ "description": "A collection of enriched cells or nuclei after enrichment process, usually via fluorescence-activated cell sorting (FACS) using the enrichment plan, is applied to dissociated cell sample.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:EnrichedCellSample" ], @@ -1720,7 +1724,7 @@ "description": "The process of splitting an enriched cell sample into several portions. Each portion may be used by the same or different groups for different scientific studies.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:EnrichedCellSampleSplitting" ], @@ -1804,11 +1808,12 @@ "description": "A region (or regions) that includes all of the sequence elements necessary to encode a functional transcript. A gene locus may include regulatory regions, transcribed regions and/or other functional sequence regions.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Gene" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -1902,11 +1907,12 @@ "description": "A genome is the sum of genetic material within a cell or virion.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Genome" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -1995,12 +2001,12 @@ "additionalProperties": false, "description": "A collection of fragmented and barcode-indexed DNA molecules for sequencing. An index or barcode is typically introduced to enable identification of library origin to allow libraries to be pooled together for sequencing.", "properties": { - "R1/R2_index_name": { + "R1_R2_index_name": { "$ref": "#/$defs/LibraryR1R2Index", "description": "Name of the pair of library indexes used for sequencing. Indexes allow libraries to be pooled together for sequencing. Sequencing output (fastq) are demultiplexed by using the indexes for each library. The name will be associated with the sequences of i7, i5, and i5as, which are needed by SeqCores for demultiplexing. The required direction of the sequence (sense or antisense) of the index can differ depending on sequencing instruments." }, "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:Library" ], @@ -2116,7 +2122,7 @@ "description": "One library in the library pool. Each library aliquot in a library pool will have a unique R1/R2 index to allow for sequencing together then separating the sequencing output by originating library aliquot through the process of demultiplexing. The resulting demultiplexed fastq files will include the library aliquot name. A given library may produce multiple library aliquots, which is done in the case of resequencing. Each library aliquot will produce a set of fastq files.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:LibraryAliquot" ], @@ -2204,7 +2210,7 @@ "description": "The process of constructing a library from input material (such as amplified cDNA or barcoded cell sample) derived from one or more cell samples. cDNA is fragmented into smaller pieces appropriate for sequencing and at the same time a library index barcode is incorporated to enable identification of library origin, allowing libraries to be pooled together for sequencing.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:LibraryConstruction" ], @@ -2313,7 +2319,7 @@ "description": "A library pool is made up of library aliquots from multiple libraries. Each library aliquot in a library pool will have a unique R1/R2 index to allow for sequencing together then separating the sequencing output by originating library aliquot through the process of demultiplexing.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:LibraryPool" ], @@ -2408,7 +2414,7 @@ "description": "The process of constructing of a libray pool by combining library aliquots from a set of input libraries. Each library aliquot in a library pool will have a unique R1/R2 index to allow for sequencing together then separating the sequencing output by originating library aliquot through the process of demultiplexing.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:LibraryPooling" ], @@ -3050,11 +3056,12 @@ "description": "A sample is a limited quantity of something (e.g. an individual or set of individuals from a population, or a portion of a substance) to be used for testing, analysis, inspection, investigation, demonstration, or trial use. [SIO]", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:MaterialSample" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -3129,11 +3136,12 @@ "description": "a databased entity or concept/class", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:NamedThing" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -3208,11 +3216,12 @@ "description": "A classification of a set of organisms. Example instances: NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria). Can also be used to represent strains or subspecies.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:OrganismTaxon" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -3290,11 +3299,12 @@ "description": "An entity that has material reality (a.k.a. physical essence).", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:PhysicalEntity" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -3369,11 +3379,12 @@ "description": "A series of actions conducted in a certain order or manner", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "biolink:Procedure" ], "items": { + "pattern": "^bican:[A-Z][A-Za-z]+$", "type": "string" }, "type": "array" @@ -3491,7 +3502,7 @@ "description": "The process of dissecting a tissue sample from a brain slab guided by a dissection region of interest (ROI) delineation.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:TissueDissection" ], @@ -3579,7 +3590,7 @@ "description": "The final intact piece of tissue before cell or nuclei prep. This piece of tissue will be used in dissociation and has an region of interest polygon (ROI) associated with it.", "properties": { "category": { - "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}", + "description": "Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.", "enum": [ "bican:TissueSample" ], diff --git a/jsonld-context-autogen/genome_annotation.context.jsonld b/jsonld-context-autogen/genome_annotation.context.jsonld index fab6ccced..1525e3c88 100644 --- a/jsonld-context-autogen/genome_annotation.context.jsonld +++ b/jsonld-context-autogen/genome_annotation.context.jsonld @@ -216,7 +216,6 @@ "@id": "authority" }, "category": { - "@type": "@id", "@id": "biolink:category" }, "checksum_algorithm": { diff --git a/jsonld-context-autogen/library_generation.context.jsonld b/jsonld-context-autogen/library_generation.context.jsonld index cbe9ccd48..ccc63588c 100644 --- a/jsonld-context-autogen/library_generation.context.jsonld +++ b/jsonld-context-autogen/library_generation.context.jsonld @@ -165,6 +165,10 @@ }, "ZFIN": "http://identifiers.org/zfin/", "bican": "https://identifiers.org/brain-bican/vocab/", + "bican_prov": { + "@id": "https://github.com/brain-bican/models/blob/main/linkml-schema/bican_prov.yaml", + "@prefix": true + }, "biolink": "https://w3id.org/biolink/vocab/", "bioschemas": "https://bioschemas.org/", "dcid": "https://datacommons.org/browser/", @@ -217,7 +221,6 @@ "@id": "f10e928d-5a2b-4943-af18-d8fe5d05528d" }, "category": { - "@type": "@id", "@id": "biolink:category" }, "amplified_cDNA_PCR_cycles": { @@ -425,7 +428,7 @@ "@type": "xsd:float", "@id": "318b2d3a-dae7-4c63-bfbb-93862b92f63e" }, - "R1/R2_index_name": { + "R1_R2_index_name": { "@context": { "@vocab": "@null", "text": "skos:notation", diff --git a/models_py-autogen/genome_annotation.py b/models_py-autogen/genome_annotation.py index 2506ec907..539ae72e8 100644 --- a/models_py-autogen/genome_annotation.py +++ b/models_py-autogen/genome_annotation.py @@ -243,7 +243,7 @@ class Entity(ConfiguredBaseModel): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Entity","biolink:Entity"]] = Field(["biolink:Entity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Entity","biolink:Entity"]] = Field(["biolink:Entity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -440,6 +440,18 @@ class Entity(ConfiguredBaseModel): 'exact_mappings': ['oboInOwl:ObsoleteClass'], 'slot_uri': 'biolink:deprecated'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class NamedThing(Entity): """ @@ -493,7 +505,7 @@ class NamedThing(Entity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/NamedThing","biolink:NamedThing"]] = Field(["biolink:NamedThing"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/NamedThing","biolink:NamedThing"]] = Field(["biolink:NamedThing"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -769,6 +781,18 @@ class NamedThing(Entity): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Attribute(NamedThing, OntologyClass): """ @@ -811,7 +835,7 @@ class Attribute(NamedThing, OntologyClass): 'exact_mappings': ['AGRKB:primaryId', 'gff3:ID', 'gpi:DB_Object_ID'], 'in_subset': ['translator_minimal'], 'slot_uri': 'biolink:id'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Attribute","biolink:Attribute"]] = Field(["biolink:Attribute"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Attribute","biolink:Attribute"]] = Field(["biolink:Attribute"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -1135,6 +1159,18 @@ class Attribute(NamedThing, OntologyClass): 'genome'], 'slot_uri': 'rdfs:label'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class TaxonomicRank(OntologyClass): """ @@ -1222,7 +1258,7 @@ class OrganismTaxon(NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/OrganismTaxon","biolink:OrganismTaxon"]] = Field(["biolink:OrganismTaxon"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/OrganismTaxon","biolink:OrganismTaxon"]] = Field(["biolink:OrganismTaxon"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -1505,6 +1541,18 @@ class OrganismTaxon(NamedThing): 'mappings': ['WIKIDATA:P105'], 'slot_uri': 'biolink:has_taxonomic_rank'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class InformationContentEntity(NamedThing): """ @@ -1569,7 +1617,7 @@ class InformationContentEntity(NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/InformationContentEntity","biolink:InformationContentEntity"]] = Field(["biolink:InformationContentEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/InformationContentEntity","biolink:InformationContentEntity"]] = Field(["biolink:InformationContentEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -1875,6 +1923,18 @@ class InformationContentEntity(NamedThing): 'is_a': 'node property', 'slot_uri': 'biolink:creation_date'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Dataset(InformationContentEntity): """ @@ -1927,7 +1987,7 @@ class Dataset(InformationContentEntity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Dataset","biolink:Dataset"]] = Field(["biolink:Dataset"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Dataset","biolink:Dataset"]] = Field(["biolink:Dataset"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -2233,6 +2293,18 @@ class Dataset(InformationContentEntity): 'is_a': 'node property', 'slot_uri': 'biolink:creation_date'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class PhysicalEssenceOrOccurrent(ConfiguredBaseModel): """ @@ -2308,7 +2380,7 @@ class PhysicalEntity(PhysicalEssence, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/PhysicalEntity","biolink:PhysicalEntity"]] = Field(["biolink:PhysicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/PhysicalEntity","biolink:PhysicalEntity"]] = Field(["biolink:PhysicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -2584,6 +2656,18 @@ class PhysicalEntity(PhysicalEssence, NamedThing): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Occurrent(PhysicalEssenceOrOccurrent): """ @@ -2667,7 +2751,7 @@ class Activity(ActivityAndBehavior, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Activity","biolink:Activity"]] = Field(["biolink:Activity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Activity","biolink:Activity"]] = Field(["biolink:Activity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -2943,6 +3027,18 @@ class Activity(ActivityAndBehavior, NamedThing): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Procedure(ActivityAndBehavior, NamedThing): """ @@ -2995,7 +3091,7 @@ class Procedure(ActivityAndBehavior, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Procedure","biolink:Procedure"]] = Field(["biolink:Procedure"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Procedure","biolink:Procedure"]] = Field(["biolink:Procedure"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -3271,6 +3367,18 @@ class Procedure(ActivityAndBehavior, NamedThing): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class SubjectOfInvestigation(ConfiguredBaseModel): """ @@ -3335,7 +3443,7 @@ class MaterialSample(SubjectOfInvestigation, PhysicalEntity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/MaterialSample","biolink:MaterialSample"]] = Field(["biolink:MaterialSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/MaterialSample","biolink:MaterialSample"]] = Field(["biolink:MaterialSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -3611,6 +3719,18 @@ class MaterialSample(SubjectOfInvestigation, PhysicalEntity): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class ThingWithTaxon(ConfiguredBaseModel): """ @@ -3697,7 +3817,7 @@ class BiologicalEntity(ThingWithTaxon, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/BiologicalEntity","biolink:BiologicalEntity"]] = Field(["biolink:BiologicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/BiologicalEntity","biolink:BiologicalEntity"]] = Field(["biolink:BiologicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -3996,6 +4116,18 @@ class BiologicalEntity(ThingWithTaxon, NamedThing): 'is_a': 'node property', 'slot_uri': 'biolink:in_taxon_label'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class GenomicEntity(ConfiguredBaseModel): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'biolink:GenomicEntity', @@ -4170,7 +4302,7 @@ class Gene(GeneOrGeneProduct, ChemicalEntityOrGeneOrGeneProduct, GenomicEntity, 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Gene","biolink:Gene"]] = Field(["biolink:Gene"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Gene","biolink:Gene"]] = Field(["biolink:Gene"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -4482,6 +4614,18 @@ class Gene(GeneOrGeneProduct, ChemicalEntityOrGeneOrGeneProduct, GenomicEntity, 'is_a': 'node property', 'slot_uri': 'biolink:has_biological_sequence'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Genome(GenomicEntity, BiologicalEntity, PhysicalEssence, OntologyClass): """ @@ -4534,7 +4678,7 @@ class Genome(GenomicEntity, BiologicalEntity, PhysicalEssence, OntologyClass): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Genome","biolink:Genome"]] = Field(["biolink:Genome"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Genome","biolink:Genome"]] = Field(["biolink:Genome"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -4839,6 +4983,18 @@ class Genome(GenomicEntity, BiologicalEntity, PhysicalEssence, OntologyClass): 'is_a': 'node property', 'slot_uri': 'biolink:has_biological_sequence'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Checksum(Entity): """ @@ -4887,7 +5043,7 @@ class Checksum(Entity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/Checksum","bican:Checksum"]] = Field(["bican:Checksum"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/Checksum","bican:Checksum"]] = Field(["bican:Checksum"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -5084,6 +5240,18 @@ class Checksum(Entity): 'exact_mappings': ['oboInOwl:ObsoleteClass'], 'slot_uri': 'biolink:deprecated'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class GeneAnnotation(Gene): """ @@ -5140,7 +5308,7 @@ class GeneAnnotation(Gene): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/GeneAnnotation","bican:GeneAnnotation"]] = Field(["bican:GeneAnnotation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/GeneAnnotation","bican:GeneAnnotation"]] = Field(["bican:GeneAnnotation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -5452,6 +5620,18 @@ class GeneAnnotation(Gene): 'is_a': 'node property', 'slot_uri': 'biolink:has_biological_sequence'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class GenomeAnnotation(Genome): """ @@ -5515,7 +5695,7 @@ class GenomeAnnotation(Genome): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/GenomeAnnotation","bican:GenomeAnnotation"]] = Field(["bican:GenomeAnnotation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/GenomeAnnotation","bican:GenomeAnnotation"]] = Field(["bican:GenomeAnnotation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -5820,6 +6000,18 @@ class GenomeAnnotation(Genome): 'is_a': 'node property', 'slot_uri': 'biolink:has_biological_sequence'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class GenomeAssembly(ThingWithTaxon, NamedThing): """ @@ -5898,7 +6090,7 @@ class GenomeAssembly(ThingWithTaxon, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/GenomeAssembly","bican:GenomeAssembly"]] = Field(["bican:GenomeAssembly"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/GenomeAssembly","bican:GenomeAssembly"]] = Field(["bican:GenomeAssembly"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -6174,6 +6366,18 @@ class GenomeAssembly(ThingWithTaxon, NamedThing): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class AnnotationCollection(ConfiguredBaseModel): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/genome-annotation-schema', diff --git a/models_py-autogen/library_generation.py b/models_py-autogen/library_generation.py index 2828f6b14..5b2796b26 100644 --- a/models_py-autogen/library_generation.py +++ b/models_py-autogen/library_generation.py @@ -80,6 +80,8 @@ def __contains__(self, key:str) -> bool: 'prefix_reference': 'http://example.org/NIMP/'}, 'bican': {'prefix_prefix': 'bican', 'prefix_reference': 'https://identifiers.org/brain-bican/vocab/'}, + 'bican_prov': {'prefix_prefix': 'bican_prov', + 'prefix_reference': 'https://github.com/brain-bican/models/blob/main/linkml-schema/bican_prov.yaml'}, 'linkml': {'prefix_prefix': 'linkml', 'prefix_reference': 'https://w3id.org/linkml/'}, 'ncbi': {'prefix_prefix': 'ncbi', @@ -1447,7 +1449,7 @@ class Entity(ConfiguredBaseModel): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Entity","biolink:Entity"]] = Field(["biolink:Entity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Entity","biolink:Entity"]] = Field(["biolink:Entity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -1655,6 +1657,18 @@ class Entity(ConfiguredBaseModel): 'exact_mappings': ['oboInOwl:ObsoleteClass'], 'slot_uri': 'biolink:deprecated'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class NamedThing(Entity): """ @@ -1708,7 +1722,7 @@ class NamedThing(Entity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/NamedThing","biolink:NamedThing"]] = Field(["biolink:NamedThing"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/NamedThing","biolink:NamedThing"]] = Field(["biolink:NamedThing"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -1995,6 +2009,18 @@ class NamedThing(Entity): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Attribute(NamedThing, OntologyClass): """ @@ -2037,7 +2063,7 @@ class Attribute(NamedThing, OntologyClass): 'exact_mappings': ['AGRKB:primaryId', 'gff3:ID', 'gpi:DB_Object_ID'], 'in_subset': ['translator_minimal'], 'slot_uri': 'biolink:id'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Attribute","biolink:Attribute"]] = Field(["biolink:Attribute"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Attribute","biolink:Attribute"]] = Field(["biolink:Attribute"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -2372,6 +2398,18 @@ class Attribute(NamedThing, OntologyClass): 'DissectionRoiPolygon'], 'slot_uri': 'rdfs:label'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class TaxonomicRank(OntologyClass): """ @@ -2459,7 +2497,7 @@ class OrganismTaxon(NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/OrganismTaxon","biolink:OrganismTaxon"]] = Field(["biolink:OrganismTaxon"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/OrganismTaxon","biolink:OrganismTaxon"]] = Field(["biolink:OrganismTaxon"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -2753,6 +2791,18 @@ class OrganismTaxon(NamedThing): 'mappings': ['WIKIDATA:P105'], 'slot_uri': 'biolink:has_taxonomic_rank'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class InformationContentEntity(NamedThing): """ @@ -2817,7 +2867,7 @@ class InformationContentEntity(NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/InformationContentEntity","biolink:InformationContentEntity"]] = Field(["biolink:InformationContentEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/InformationContentEntity","biolink:InformationContentEntity"]] = Field(["biolink:InformationContentEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -3134,6 +3184,18 @@ class InformationContentEntity(NamedThing): 'is_a': 'node property', 'slot_uri': 'biolink:creation_date'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Dataset(InformationContentEntity): """ @@ -3186,7 +3248,7 @@ class Dataset(InformationContentEntity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Dataset","biolink:Dataset"]] = Field(["biolink:Dataset"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Dataset","biolink:Dataset"]] = Field(["biolink:Dataset"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -3503,6 +3565,18 @@ class Dataset(InformationContentEntity): 'is_a': 'node property', 'slot_uri': 'biolink:creation_date'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class PhysicalEssenceOrOccurrent(ConfiguredBaseModel): """ @@ -3578,7 +3652,7 @@ class PhysicalEntity(PhysicalEssence, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/PhysicalEntity","biolink:PhysicalEntity"]] = Field(["biolink:PhysicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/PhysicalEntity","biolink:PhysicalEntity"]] = Field(["biolink:PhysicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -3865,6 +3939,18 @@ class PhysicalEntity(PhysicalEssence, NamedThing): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Occurrent(PhysicalEssenceOrOccurrent): """ @@ -3948,7 +4034,7 @@ class Activity(ActivityAndBehavior, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Activity","biolink:Activity"]] = Field(["biolink:Activity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Activity","biolink:Activity"]] = Field(["biolink:Activity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -4235,6 +4321,18 @@ class Activity(ActivityAndBehavior, NamedThing): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Procedure(ActivityAndBehavior, NamedThing): """ @@ -4287,7 +4385,7 @@ class Procedure(ActivityAndBehavior, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Procedure","biolink:Procedure"]] = Field(["biolink:Procedure"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Procedure","biolink:Procedure"]] = Field(["biolink:Procedure"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -4574,6 +4672,18 @@ class Procedure(ActivityAndBehavior, NamedThing): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class SubjectOfInvestigation(ConfiguredBaseModel): """ @@ -4638,7 +4748,7 @@ class MaterialSample(SubjectOfInvestigation, PhysicalEntity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/MaterialSample","biolink:MaterialSample"]] = Field(["biolink:MaterialSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/MaterialSample","biolink:MaterialSample"]] = Field(["biolink:MaterialSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -4925,6 +5035,18 @@ class MaterialSample(SubjectOfInvestigation, PhysicalEntity): 'RXNORM:has_tradename'], 'slot_uri': 'biolink:synonym'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class ThingWithTaxon(ConfiguredBaseModel): """ @@ -5011,7 +5133,7 @@ class BiologicalEntity(ThingWithTaxon, NamedThing): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/BiologicalEntity","biolink:BiologicalEntity"]] = Field(["biolink:BiologicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/BiologicalEntity","biolink:BiologicalEntity"]] = Field(["biolink:BiologicalEntity"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -5321,6 +5443,18 @@ class BiologicalEntity(ThingWithTaxon, NamedThing): 'is_a': 'node property', 'slot_uri': 'biolink:in_taxon_label'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class GenomicEntity(ConfiguredBaseModel): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'class_uri': 'biolink:GenomicEntity', @@ -5517,7 +5651,7 @@ class Gene(GeneOrGeneProduct, ChemicalEntityOrGeneOrGeneProduct, GenomicEntity, 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Gene","biolink:Gene"]] = Field(["biolink:Gene"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Gene","biolink:Gene"]] = Field(["biolink:Gene"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -5840,6 +5974,18 @@ class Gene(GeneOrGeneProduct, ChemicalEntityOrGeneOrGeneProduct, GenomicEntity, 'is_a': 'node property', 'slot_uri': 'biolink:has_biological_sequence'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Genome(GenomicEntity, BiologicalEntity, PhysicalEssence, OntologyClass): """ @@ -5892,7 +6038,7 @@ class Genome(GenomicEntity, BiologicalEntity, PhysicalEssence, OntologyClass): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://w3id.org/biolink/vocab/Genome","biolink:Genome"]] = Field(["biolink:Genome"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://w3id.org/biolink/vocab/Genome","biolink:Genome"]] = Field(["biolink:Genome"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -6208,6 +6354,18 @@ class Genome(GenomicEntity, BiologicalEntity, PhysicalEssence, OntologyClass): 'is_a': 'node property', 'slot_uri': 'biolink:has_biological_sequence'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class ProvActivity(ConfiguredBaseModel): """ @@ -6312,7 +6470,7 @@ class Checksum(Entity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/Checksum","bican:Checksum"]] = Field(["bican:Checksum"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/Checksum","bican:Checksum"]] = Field(["bican:Checksum"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', @@ -6520,6 +6678,18 @@ class Checksum(Entity): 'exact_mappings': ['oboInOwl:ObsoleteClass'], 'slot_uri': 'biolink:deprecated'} }) + @field_validator('category') + def pattern_category(cls, v): + pattern=re.compile(r"^bican:[A-Z][A-Za-z]+$") + if isinstance(v,list): + for element in v: + if not pattern.match(element): + raise ValueError(f"Invalid category format: {element}") + elif isinstance(v,str): + if not pattern.match(v): + raise ValueError(f"Invalid category format: {v}") + return v + class Donor(ProvEntity, ThingWithTaxon, PhysicalEntity): """ @@ -6528,9 +6698,7 @@ class Donor(ProvEntity, ThingWithTaxon, PhysicalEntity): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'exact_mappings': ['NIMP:Donor'], 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'mixins': ['ThingWithTaxon', 'ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of person or organism that is ' + 'slot_usage': {'name': {'description': 'Name of person or organism that is ' 'the source of a biological sample for ' 'scientific study. Many biological ' 'samples are generated from a single ' @@ -6691,12 +6859,12 @@ class Donor(ProvEntity, ThingWithTaxon, PhysicalEntity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/Donor","bican:Donor"]] = Field(["bican:Donor"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/Donor","bican:Donor"]] = Field(["bican:Donor"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -6708,6 +6876,7 @@ class Donor(ProvEntity, ThingWithTaxon, PhysicalEntity): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -6963,9 +7132,7 @@ class BrainSlab(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'tissue_specimen'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of a thick flat piece of brain ' + 'slot_usage': {'name': {'description': 'Name of a thick flat piece of brain ' 'tissue obtained by slicing a whole ' 'brain, brain hemisphere or ' 'subdivision with a blade at regular ' @@ -7081,12 +7248,12 @@ class BrainSlab(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/BrainSlab","bican:BrainSlab"]] = Field(["bican:BrainSlab"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/BrainSlab","bican:BrainSlab"]] = Field(["bican:BrainSlab"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -7098,6 +7265,7 @@ class BrainSlab(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -7353,9 +7521,7 @@ class TissueSample(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Identifier name for final intact ' + 'slot_usage': {'name': {'description': 'Identifier name for final intact ' 'piece of tissue before cell or nuclei ' 'prep. This piece of tissue will be ' 'used in dissociation and has an ROI ' @@ -7480,12 +7646,12 @@ class TissueSample(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/TissueSample","bican:TissueSample"]] = Field(["bican:TissueSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/TissueSample","bican:TissueSample"]] = Field(["bican:TissueSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -7497,6 +7663,7 @@ class TissueSample(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -7752,9 +7919,7 @@ class DissociatedCellSample(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of a collection of dissociated ' + 'slot_usage': {'name': {'description': 'Name of a collection of dissociated ' 'cells or nuclei derived from ' 'dissociation of a tissue sample.', 'exact_mappings': ['NIMP:PD-RQRWHS40'], @@ -7886,12 +8051,12 @@ class DissociatedCellSample(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/DissociatedCellSample","bican:DissociatedCellSample"]] = Field(["bican:DissociatedCellSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/DissociatedCellSample","bican:DissociatedCellSample"]] = Field(["bican:DissociatedCellSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -7903,6 +8068,7 @@ class DissociatedCellSample(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -8158,9 +8324,7 @@ class EnrichedCellSample(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of collection of enriched cells ' + 'slot_usage': {'name': {'description': 'Name of collection of enriched cells ' 'or nuclei after enrichment process ' '(usually via FACS using the ' 'Enrichment Plan) applied to ' @@ -8306,12 +8470,12 @@ class EnrichedCellSample(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/EnrichedCellSample","bican:EnrichedCellSample"]] = Field(["bican:EnrichedCellSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/EnrichedCellSample","bican:EnrichedCellSample"]] = Field(["bican:EnrichedCellSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -8323,6 +8487,7 @@ class EnrichedCellSample(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -8578,9 +8743,7 @@ class BarcodedCellSample(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of a collection of barcoded ' + 'slot_usage': {'name': {'description': 'Name of a collection of barcoded ' 'cells. Input will be either ' 'dissociated_cell_sample or ' 'enriched_cell_sample. Cell barcodes ' @@ -8716,12 +8879,12 @@ class BarcodedCellSample(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/BarcodedCellSample","bican:BarcodedCellSample"]] = Field(["bican:BarcodedCellSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/BarcodedCellSample","bican:BarcodedCellSample"]] = Field(["bican:BarcodedCellSample"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -8733,6 +8896,7 @@ class BarcodedCellSample(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -8988,9 +9152,7 @@ class AmplifiedCdna(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of a collection of cDNA ' + 'slot_usage': {'name': {'description': 'Name of a collection of cDNA ' 'molecules derived and amplified from ' 'an input barcoded_cell_sample. These ' 'cDNA molecules represent the gene ' @@ -9136,12 +9298,12 @@ class AmplifiedCdna(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/AmplifiedCdna","bican:AmplifiedCdna"]] = Field(["bican:AmplifiedCdna"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/AmplifiedCdna","bican:AmplifiedCdna"]] = Field(["bican:AmplifiedCdna"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -9153,6 +9315,7 @@ class AmplifiedCdna(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -9408,9 +9571,7 @@ class Library(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of a library, which is a ' + 'slot_usage': {'name': {'description': 'Name of a library, which is a ' 'collection of fragmented and ' 'barcode-indexed DNA molecules for ' 'sequencing. An index or barcode is ' @@ -9528,7 +9689,7 @@ class Library(ProvEntity, MaterialSample): 'local_names': {'NIMP': {'local_name_source': 'NIMP', 'local_name_value': 'library_quantification_ng'}}, 'slot_uri': 'bican:318b2d3a-dae7-4c63-bfbb-93862b92f63e'} }) - r1_r2_index: Optional[LibraryR1R2Index] = Field(None, description="""Name of the pair of library indexes used for sequencing. Indexes allow libraries to be pooled together for sequencing. Sequencing output (fastq) are demultiplexed by using the indexes for each library. The name will be associated with the sequences of i7, i5, and i5as, which are needed by SeqCores for demultiplexing. The required direction of the sequence (sense or antisense) of the index can differ depending on sequencing instruments.""", json_schema_extra = { "linkml_meta": {'alias': 'R1/R2 index name', + r1_r2_index: Optional[LibraryR1R2Index] = Field(None, description="""Name of the pair of library indexes used for sequencing. Indexes allow libraries to be pooled together for sequencing. Sequencing output (fastq) are demultiplexed by using the indexes for each library. The name will be associated with the sequences of i7, i5, and i5as, which are needed by SeqCores for demultiplexing. The required direction of the sequence (sense or antisense) of the index can differ depending on sequencing instruments.""", json_schema_extra = { "linkml_meta": {'alias': 'R1_R2 index name', 'domain_of': ['Library'], 'exact_mappings': ['NIMP:PD-VLLMWZ60'], 'in_subset': ['analysis', 'tracking'], @@ -9574,12 +9735,12 @@ class Library(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/Library","bican:Library"]] = Field(["bican:Library"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/Library","bican:Library"]] = Field(["bican:Library"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -9591,6 +9752,7 @@ class Library(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -9846,9 +10008,7 @@ class LibraryAliquot(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'One library in the library pool. ' + 'slot_usage': {'name': {'description': 'One library in the library pool. ' 'Each Library_aliquot_name in a ' 'library pool will have a unique R1/R2 ' 'index to allow for sequencing ' @@ -9966,12 +10126,12 @@ class LibraryAliquot(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryAliquot","bican:LibraryAliquot"]] = Field(["bican:LibraryAliquot"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryAliquot","bican:LibraryAliquot"]] = Field(["bican:LibraryAliquot"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -9983,6 +10143,7 @@ class LibraryAliquot(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -10238,9 +10399,7 @@ class LibraryPool(ProvEntity, MaterialSample): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': "Library lab's library pool name. For " + 'slot_usage': {'name': {'description': "Library lab's library pool name. For " 'some labs this may be the same as ' '"Libray pool tube local name". ' 'Other labs distinguish between the ' @@ -10371,12 +10530,12 @@ class LibraryPool(ProvEntity, MaterialSample): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryPool","bican:LibraryPool"]] = Field(["bican:LibraryPool"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryPool","bican:LibraryPool"]] = Field(["bican:LibraryPool"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -10388,6 +10547,7 @@ class LibraryPool(ProvEntity, MaterialSample): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -10642,10 +10802,9 @@ class DissectionRoiDelineation(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The brain slab that was annotated by ' + 'slot_usage': {'used': {'description': 'The brain slab that was annotated by ' 'the delineation process.', + 'from_schema': 'bican_prov', 'name': 'used', 'range': 'BrainSlab'}}}) @@ -10700,12 +10859,12 @@ class DissectionRoiDelineation(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/DissectionRoiDelineation","bican:DissectionRoiDelineation"]] = Field(["bican:DissectionRoiDelineation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/DissectionRoiDelineation","bican:DissectionRoiDelineation"]] = Field(["bican:DissectionRoiDelineation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -10717,6 +10876,7 @@ class DissectionRoiDelineation(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -11006,9 +11166,7 @@ class TissueDissection(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The brain slab from which the tissue ' + 'slot_usage': {'used': {'description': 'The brain slab from which the tissue ' 'sample was dissected from.', 'domain_of': ['ProvActivity', 'DissectionRoiDelineation', @@ -11075,12 +11233,12 @@ class TissueDissection(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/TissueDissection","bican:TissueDissection"]] = Field(["bican:TissueDissection"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/TissueDissection","bican:TissueDissection"]] = Field(["bican:TissueDissection"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -11092,6 +11250,7 @@ class TissueDissection(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -11381,9 +11540,7 @@ class CellDissociation(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The input tissue sample(s) from which ' + 'slot_usage': {'used': {'description': 'The input tissue sample(s) from which ' 'the dissociated cell sample was ' 'derived from.', 'domain_of': ['ProvActivity', @@ -11461,12 +11618,12 @@ class CellDissociation(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/CellDissociation","bican:CellDissociation"]] = Field(["bican:CellDissociation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/CellDissociation","bican:CellDissociation"]] = Field(["bican:CellDissociation"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -11478,6 +11635,7 @@ class CellDissociation(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -11767,9 +11925,7 @@ class CellEnrichment(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The input dissociated cell sample(s) ' + 'slot_usage': {'used': {'description': 'The input dissociated cell sample(s) ' 'from which the enriched cell sample ' 'was derived from.', 'domain_of': ['ProvActivity', @@ -11847,12 +12003,12 @@ class CellEnrichment(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/CellEnrichment","bican:CellEnrichment"]] = Field(["bican:CellEnrichment"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/CellEnrichment","bican:CellEnrichment"]] = Field(["bican:CellEnrichment"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -11864,6 +12020,7 @@ class CellEnrichment(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -12153,9 +12310,7 @@ class EnrichedCellSampleSplitting(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The enrichment cell sample splitting ' + 'slot_usage': {'used': {'description': 'The enrichment cell sample splitting ' 'process from which the enriched cell ' 'sample was generated by.', 'domain_of': ['ProvActivity', @@ -12222,12 +12377,12 @@ class EnrichedCellSampleSplitting(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/EnrichedCellSampleSplitting","bican:EnrichedCellSampleSplitting"]] = Field(["bican:EnrichedCellSampleSplitting"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/EnrichedCellSampleSplitting","bican:EnrichedCellSampleSplitting"]] = Field(["bican:EnrichedCellSampleSplitting"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -12239,6 +12394,7 @@ class EnrichedCellSampleSplitting(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -12528,9 +12684,7 @@ class CellBarcoding(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The input dissociated or enriched ' + 'slot_usage': {'used': {'description': 'The input dissociated or enriched ' 'cell sample(s) from which the ' 'barcoded cell sample was derived ' 'from.', @@ -12631,12 +12785,12 @@ class CellBarcoding(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/CellBarcoding","bican:CellBarcoding"]] = Field(["bican:CellBarcoding"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/CellBarcoding","bican:CellBarcoding"]] = Field(["bican:CellBarcoding"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -12648,6 +12802,7 @@ class CellBarcoding(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -12937,9 +13092,7 @@ class CdnaAmplification(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The input barcoded cell sample from ' + 'slot_usage': {'used': {'description': 'The input barcoded cell sample from ' 'which amplified cDNA was derived ' 'from.', 'domain_of': ['ProvActivity', @@ -13031,12 +13184,12 @@ class CdnaAmplification(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/CdnaAmplification","bican:CdnaAmplification"]] = Field(["bican:CdnaAmplification"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/CdnaAmplification","bican:CdnaAmplification"]] = Field(["bican:CdnaAmplification"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -13048,6 +13201,7 @@ class CdnaAmplification(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -13337,9 +13491,7 @@ class LibraryConstruction(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'any_of': [{'range': 'BarcodedCellSample'}, + 'slot_usage': {'used': {'any_of': [{'range': 'BarcodedCellSample'}, {'range': 'AmplifiedCdna'}], 'description': 'The input barcoded cell sample or ' 'amplified cDNA from which the library ' @@ -13440,12 +13592,12 @@ class LibraryConstruction(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryConstruction","bican:LibraryConstruction"]] = Field(["bican:LibraryConstruction"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryConstruction","bican:LibraryConstruction"]] = Field(["bican:LibraryConstruction"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -13457,6 +13609,7 @@ class LibraryConstruction(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -13746,9 +13899,7 @@ class LibraryPooling(ProvActivity, Procedure): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'library_generation'], 'mixins': ['ProvActivity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'used': {'description': 'The input aliquot(s) from which the ' + 'slot_usage': {'used': {'description': 'The input aliquot(s) from which the ' 'library pool was derived from.', 'domain_of': ['ProvActivity', 'DissectionRoiDelineation', @@ -13825,12 +13976,12 @@ class LibraryPooling(ProvActivity, Procedure): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryPooling","bican:LibraryPooling"]] = Field(["bican:LibraryPooling"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/LibraryPooling","bican:LibraryPooling"]] = Field(["bican:LibraryPooling"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -13842,6 +13993,7 @@ class LibraryPooling(ProvActivity, Procedure): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -14132,9 +14284,7 @@ class DissectionRoiPolygon(ProvEntity, Entity): 'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'in_subset': ['bican', 'tissue_specimen'], 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'name': {'description': 'Name of a polygon annotated on a ' + 'slot_usage': {'name': {'description': 'Name of a polygon annotated on a ' 'brain slab image delineating a region ' 'of interest (ROI) for a tissue sample ' 'dissectioning.', @@ -14279,12 +14429,12 @@ class DissectionRoiPolygon(ProvEntity, Entity): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/DissectionRoiPolygon","bican:DissectionRoiPolygon"]] = Field(["bican:DissectionRoiPolygon"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/DissectionRoiPolygon","bican:DissectionRoiPolygon"]] = Field(["bican:DissectionRoiPolygon"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -14296,6 +14446,7 @@ class DissectionRoiPolygon(ProvEntity, Entity): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} }) @@ -14467,9 +14618,7 @@ def pattern_category(cls, v): class DigitalAsset(ProvEntity, Dataset): linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta({'from_schema': 'https://identifiers.org/brain-bican/library-generation-schema', 'mixins': ['ProvEntity'], - 'slot_usage': {'category': {'name': 'category', - 'pattern': '^bican:[A-Z][A-Za-z]+$'}, - 'content_url': {'name': 'content_url'}, + 'slot_usage': {'content_url': {'name': 'content_url'}, 'digest': {'name': 'digest'}, 'was_derived_from': {'name': 'was_derived_from', 'range': 'LibraryPool'}}}) @@ -14540,12 +14689,12 @@ class DigitalAsset(ProvEntity, Dataset): 'exact_mappings': ['WIKIDATA_PROPERTY:P854'], 'in_subset': ['translator_minimal', 'samples'], 'slot_uri': 'biolink:iri'} }) - category: List[Literal["https://identifiers.org/brain-bican/vocab/DigitalAsset","bican:DigitalAsset"]] = Field(["bican:DigitalAsset"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}""", json_schema_extra = { "linkml_meta": {'alias': 'category', + category: List[Literal["https://identifiers.org/brain-bican/vocab/DigitalAsset","bican:DigitalAsset"]] = Field(["bican:DigitalAsset"], description="""Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI. This field is multi-valued. It should include values for ancestors of the biolink class; for example, a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`. In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f` may have a rdf:type assertion to a SO class such as TF_binding_site, which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity, biolink:MolecularEntity, biolink:NamedThing}. NOTE: The category slot was modified to have a curie range and a pattern for bican categories.""", json_schema_extra = { "linkml_meta": {'alias': 'category', 'definition_uri': 'https://w3id.org/biolink/vocab/category', 'designates_type': True, 'domain': 'entity', - 'domain_of': ['attribute', - 'entity', + 'domain_of': ['entity', + 'attribute', 'named thing', 'organism taxon', 'information content entity', @@ -14557,6 +14706,7 @@ class DigitalAsset(ProvEntity, Dataset): 'biological entity', 'gene', 'genome'], + 'in_subset': ['translator_minimal'], 'is_a': 'type', 'is_class_field': True, 'slot_uri': 'biolink:category'} })