@prefix : <https://w3id.org/linkml/> .
@prefix OIO: <http://www.geneontology.org/formats/oboInOwl#> .
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix linkml: <https://w3id.org/linkml/> .
@prefix oslc: <http://open-services.net/ns/core#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pav: <http://purl.org/pav/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema1: <http://schema.org/> .
@prefix sh1: <https://w3id.org/shacl/> .
@prefix shex: <http://www.w3.org/ns/shex#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix swrl: <http://www.w3.org/2003/11/swrl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

linkml:CODE skos:definition "The permissible values are the set of possible codes in the code set" .

linkml:CURIE skos:definition "The permissible values are the set of CURIES in the code set" .

linkml:FHIR_CODING skos:definition "The permissible values are the set of FHIR coding elements derived from the code set" .

linkml:URI skos:definition "The permissible values are the set of code URIs in the code set" .

linkml:date a linkml:TypeDefinition ;
    skos:definition "a date (year, month and day) in an idealized calendar" ;
    skos:editorialNote "URI is dateTime because OWL reasoners don't work with straight date or time" ;
    skos:inScheme linkml:types ;
    linkml:base "XSDDate" ;
    linkml:definition_uri linkml:Date ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri xsd:date .

linkml:decimal a linkml:TypeDefinition ;
    skos:definition "A real number with arbitrary precision that conforms to the xsd:decimal specification" ;
    skos:inScheme linkml:types ;
    linkml:base "Decimal" ;
    linkml:definition_uri linkml:Decimal ;
    linkml:imported_from "linkml:types" ;
    linkml:uri xsd:decimal .

linkml:double a linkml:TypeDefinition ;
    skos:definition "A real number that conforms to the xsd:double specification" ;
    skos:inScheme linkml:types ;
    linkml:base "float" ;
    linkml:definition_uri linkml:Double ;
    linkml:imported_from "linkml:types" ;
    linkml:uri xsd:double .

linkml:float a linkml:TypeDefinition ;
    skos:definition "A real number that conforms to the xsd:float specification" ;
    skos:inScheme linkml:types ;
    linkml:base "float" ;
    linkml:definition_uri linkml:Float ;
    linkml:imported_from "linkml:types" ;
    linkml:uri xsd:float .

linkml:nodeidentifier a linkml:TypeDefinition ;
    skos:definition "A URI, CURIE or BNODE that represents a node in a model." ;
    skos:inScheme linkml:types ;
    linkml:base "NodeIdentifier" ;
    linkml:definition_uri linkml:Nodeidentifier ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri shex:nonLiteral .

linkml:objectidentifier a linkml:TypeDefinition ;
    skos:definition "A URI or CURIE that represents an object in the model." ;
    skos:inScheme linkml:types ;
    skos:note "Used for inheritence and type checking" ;
    linkml:base "ElementIdentifier" ;
    linkml:definition_uri linkml:Objectidentifier ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri shex:iri .

linkml:time a linkml:TypeDefinition ;
    skos:definition "A time object represents a (local) time of day, independent of any particular day" ;
    skos:editorialNote "URI is dateTime because OWL reasoners don't work with straight date or time" ;
    skos:inScheme linkml:types ;
    linkml:base "XSDTime" ;
    linkml:definition_uri linkml:Time ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri xsd:dateTime .

linkml:class_definition_apply_to a linkml:SlotDefinition ;
    skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "apply_to" ;
    linkml:definition_uri linkml:apply_to ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:is_a linkml:apply_to ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:ClassDefinition ;
    linkml:slot_uri linkml:apply_to ;
    linkml:usage_slot_name "apply_to" .

linkml:class_definition_is_a a linkml:SlotDefinition ;
    skos:definition "specifies single-inheritance between classes or slots. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "is_a" ;
    linkml:abstract true ;
    linkml:definition_uri linkml:is_a ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:is_a linkml:is_a ;
    linkml:is_usage_slot true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:ClassDefinition ;
    linkml:slot_uri linkml:is_a ;
    linkml:usage_slot_name "is_a" .

linkml:class_definition_mixins a linkml:SlotDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Mixin> ;
    skos:altLabel "traits" ;
    skos:definition "List of definitions to be mixed in. Targets may be any definition of the same type" ;
    skos:inScheme linkml:meta ;
    skos:note "mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierachy, while keeping the benefits of multiple inheritance" ;
    skos:prefLabel "mixins" ;
    linkml:definition_uri linkml:mixins ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:is_a linkml:mixins ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:ClassDefinition ;
    linkml:slot_uri linkml:mixins ;
    linkml:usage_slot_name "mixins" .

linkml:class_definition_rules a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the collection of rules that apply to all members of this class" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation sh1:rule ;
    skos:prefLabel "rules" ;
    linkml:definition_uri linkml:rules ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:inlined true ;
    linkml:is_a linkml:rules ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:ClassRule ;
    linkml:slot_uri sh1:rule ;
    linkml:usage_slot_name "rules" .

linkml:permissible_value_is_a a linkml:SlotDefinition ;
    skos:definition "specifies single-inheritance between classes or slots. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "is_a" ;
    linkml:abstract true ;
    linkml:definition_uri linkml:is_a ;
    linkml:domain linkml:PermissibleValue ;
    linkml:domain_of linkml:PermissibleValue ;
    linkml:is_a linkml:is_a ;
    linkml:is_usage_slot true ;
    linkml:owner linkml:PermissibleValue ;
    linkml:range linkml:PermissibleValue ;
    linkml:slot_uri linkml:is_a ;
    linkml:usage_slot_name "is_a" .

linkml:permissible_value_mixins a linkml:SlotDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Mixin> ;
    skos:altLabel "traits" ;
    skos:definition "List of definitions to be mixed in. Targets may be any definition of the same type" ;
    skos:inScheme linkml:meta ;
    skos:note "mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierachy, while keeping the benefits of multiple inheritance" ;
    skos:prefLabel "mixins" ;
    linkml:definition_uri linkml:mixins ;
    linkml:domain linkml:PermissibleValue ;
    linkml:domain_of linkml:PermissibleValue ;
    linkml:is_a linkml:mixins ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:PermissibleValue ;
    linkml:range linkml:PermissibleValue ;
    linkml:slot_uri linkml:mixins ;
    linkml:usage_slot_name "mixins" .

linkml:presence_enum skos:definition "enumeration of conditions by which a slot value should be set" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:PresenceEnum ;
    linkml:permissible_values linkml:ABSENT,
        linkml:PRESENT,
        linkml:UNCOMMITTED .

linkml:pv_formula_options skos:definition "The formula used to generate the set of permissible values from the code_set values" ;
    skos:editorialNote "{'Q1': 'Do we need a CURIEorURIE entry?'}",
        "{'Q2': 'Who defines the namespaces for the CURIE form?'}" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:PvFormulaOptions ;
    linkml:permissible_values linkml:CODE,
        linkml:CURIE,
        linkml:FHIR_CODING,
        linkml:URI .

linkml:schema_definition_name a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Data_element_name> ;
    skos:definition "the unique name of the element within the context of the schema.  Name is combined with the default prefix to form the globally unique subject of the target class." ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation schema1:name,
        rdfs:label ;
    skos:prefLabel "name" ;
    linkml:definition_uri linkml:name ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:identifier true ;
    linkml:is_a linkml:name ;
    linkml:is_usage_slot true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:ncname ;
    linkml:required true ;
    linkml:slot_uri rdfs:label ;
    linkml:usage_slot_name "name" .

linkml:slot_definition_apply_to a linkml:SlotDefinition ;
    skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "apply_to" ;
    linkml:definition_uri linkml:apply_to ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:is_a linkml:apply_to ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:apply_to ;
    linkml:usage_slot_name "apply_to" .

linkml:slot_definition_is_a a linkml:SlotDefinition ;
    skos:definition "specifies single-inheritance between classes or slots. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "is_a" ;
    linkml:abstract true ;
    linkml:definition_uri linkml:is_a ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:is_a linkml:is_a ;
    linkml:is_usage_slot true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:is_a ;
    linkml:usage_slot_name "is_a" .

linkml:slot_definition_mixins a linkml:SlotDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Mixin> ;
    skos:altLabel "traits" ;
    skos:definition "List of definitions to be mixed in. Targets may be any definition of the same type" ;
    skos:inScheme linkml:meta ;
    skos:note "mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierachy, while keeping the benefits of multiple inheritance" ;
    skos:prefLabel "mixins" ;
    linkml:definition_uri linkml:mixins ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:is_a linkml:mixins ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:mixins ;
    linkml:usage_slot_name "mixins" .

linkml:alias a linkml:SlotDefinition ;
    skos:definition "the name used for a slot in the context of its owning class.  If present, this is used instead of the actual slot name." ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:prefLabel ;
    linkml:definition_uri linkml:alias ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri skos:prefLabel .

linkml:alt_description_source a linkml:SlotDefinition ;
    skos:definition "the source of an attributed description" ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "source" ;
    linkml:definition_uri linkml:alt_description_source ;
    linkml:domain linkml:AltDescription ;
    linkml:domain_of linkml:AltDescription ;
    linkml:key true ;
    linkml:owner linkml:AltDescription ;
    linkml:range linkml:string ;
    linkml:required true ;
    linkml:slot_uri linkml:source .

linkml:alt_description_text a linkml:SlotDefinition ;
    skos:definition "text of an attributed description" ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "description" ;
    linkml:definition_uri linkml:alt_description_text ;
    linkml:domain linkml:AltDescription ;
    linkml:domain_of linkml:AltDescription ;
    linkml:owner linkml:AltDescription ;
    linkml:range linkml:string ;
    linkml:required true ;
    linkml:slot_uri linkml:description .

linkml:deactivated a linkml:SlotDefinition ;
    skos:definition "a deactivated rule is not executed by the rules engine" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation sh1:deactivated ;
    linkml:definition_uri linkml:deactivated ;
    linkml:domain_of linkml:ClassRule ;
    linkml:owner linkml:ClassRule ;
    linkml:range linkml:boolean ;
    linkml:slot_uri sh1:deactivated .

linkml:equals_number_in a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the slot must have range number and the value of the slot must equal one of the specified values" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:equals_number_in ;
    linkml:inherited true ;
    linkml:is_a linkml:list_value_specification_constant ;
    linkml:multivalued true ;
    linkml:range linkml:integer ;
    linkml:slot_uri linkml:equals_number_in .

linkml:inverse a linkml:SlotDefinition ;
    skos:definition "indicates that any instance of d s r implies that there is also an instance of r s' d" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation owl:inverseOf ;
    linkml:definition_uri linkml:inverse ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri owl:inverseOf .

linkml:license a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "license for the schema" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation dcterms:license ;
    linkml:definition_uri linkml:license ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri dcterms:license .

linkml:local_name_value a linkml:SlotDefinition ;
    skos:definition "a name assigned to an element in a given ontology" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:altLabel ;
    linkml:definition_uri linkml:local_name_value ;
    linkml:domain linkml:LocalName ;
    linkml:domain_of linkml:LocalName ;
    linkml:owner linkml:LocalName ;
    linkml:range linkml:string ;
    linkml:required true ;
    linkml:slot_uri skos:altLabel .

linkml:precedence a linkml:SlotDefinition ;
    skos:definition "the relative order in which the rule is applied" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation sh1:order ;
    linkml:definition_uri linkml:precedence ;
    linkml:domain_of linkml:ClassRule ;
    linkml:owner linkml:ClassRule ;
    linkml:range linkml:integer ;
    linkml:slot_uri sh1:order .

linkml:preconditions a linkml:SlotDefinition ;
    skos:altLabel "antecedents",
        "body",
        "if" ;
    skos:closeMatch swrl:body ;
    skos:definition "an expression that must hold in order for the rule to be applicable to an instance" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation sh1:condition ;
    linkml:definition_uri linkml:preconditions ;
    linkml:domain_of linkml:ClassRule ;
    linkml:inlined true ;
    linkml:owner linkml:ClassRule ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri sh1:condition .

linkml:singular_name a linkml:SlotDefinition ;
    skos:definition "a name that is used in the singular form" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:altLabel ;
    linkml:definition_uri linkml:singular_name ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri skos:altLabel .

linkml:slot_definitions a linkml:SlotDefinition ;
    skos:definition "slot definitions" ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "slots" ;
    linkml:definition_uri linkml:slot_definitions ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:slots .

linkml:subclass_of a linkml:SlotDefinition ;
    skos:definition "rdfs:subClassOf to be emitted in OWL generation" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation rdfs:subClassOf ;
    linkml:definition_uri linkml:subclass_of ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri rdfs:subClassOf .

linkml:subproperty_of a linkml:SlotDefinition ;
    skos:definition "Ontology property which this slot is a subproperty of" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation rdfs:subPropertyOf ;
    linkml:definition_uri linkml:subproperty_of ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri rdfs:subPropertyOf .

linkml:type_uri a linkml:SlotDefinition ;
    skos:definition "The uri that defines the possible values for the type definition" ;
    skos:inScheme linkml:meta ;
    skos:note "every root type must have a type uri",
        "uri is typically drawn from the set of URI's defined in OWL (https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Datatype_Maps)" ;
    skos:prefLabel "uri" ;
    linkml:definition_uri linkml:type_uri ;
    linkml:domain linkml:TypeDefinition ;
    linkml:domain_of linkml:TypeDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:TypeDefinition ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:uri .

linkml:value_description a linkml:SlotDefinition ;
    skos:definition "description of what the value is doing" ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "description" ;
    linkml:definition_uri linkml:value_description ;
    linkml:domain linkml:Example ;
    linkml:domain_of linkml:Example ;
    linkml:owner linkml:Example ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:description .

linkml:version a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "particular version of schema" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation pav:version,
        schema1:schemaVersion ;
    linkml:definition_uri linkml:version ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri pav:version .

linkml:ClassLevelRule a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:definition "A rule that is applied to classes" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:class_uri linkml:ClassLevelRule ;
    linkml:definition_uri linkml:ClassLevelRule ;
    linkml:slot_usage [ ] .

linkml:attributes a linkml:SlotDefinition ;
    skos:definition "Inline definition of slots" ;
    skos:inScheme linkml:meta ;
    skos:note "attributes are an alternative way of defining new slots.  An attribute adds a slot to the global space in the form <class_name>__<slot_name> (lower case, double underscores).  Attributes can be specialized via slot_usage." ;
    linkml:definition_uri linkml:attributes ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:attributes .

linkml:base a linkml:SlotDefinition ;
    skos:definition "python base type that implements this type definition" ;
    skos:inScheme linkml:meta ;
    skos:note "every root type must have a base",
        "the base is inherited by child types but may be overriden.  Base compatibility is not checked." ;
    linkml:definition_uri linkml:base ;
    linkml:domain linkml:TypeDefinition ;
    linkml:domain_of linkml:TypeDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:TypeDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:base .

linkml:bidirectional a linkml:SlotDefinition ;
    skos:altLabel "if and only if",
        "iff" ;
    skos:definition "in addition to preconditions entailing postconditions, the postconditions entail the preconditions" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:bidirectional ;
    linkml:domain_of linkml:ClassRule ;
    linkml:owner linkml:ClassRule ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:bidirectional .

linkml:class_expression_all_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if all of the expressions hold" ;
    skos:exactMatch sh1:and ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "all_of" ;
    linkml:definition_uri linkml:all_of ;
    linkml:domain linkml:ClassExpression ;
    linkml:domain_of linkml:ClassExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:all_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:all_of ;
    linkml:usage_slot_name "all_of" .

linkml:class_expression_any_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if at least one of the expressions hold" ;
    skos:exactMatch sh1:or ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "any_of" ;
    linkml:definition_uri linkml:any_of ;
    linkml:domain linkml:ClassExpression ;
    linkml:domain_of linkml:ClassExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:any_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:any_of ;
    linkml:usage_slot_name "any_of" .

linkml:class_expression_exactly_one_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if only one of the expressions hold" ;
    skos:exactMatch sh1:xone ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "exactly_one_of" ;
    linkml:definition_uri linkml:exactly_one_of ;
    linkml:domain linkml:ClassExpression ;
    linkml:domain_of linkml:ClassExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:exactly_one_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:exactly_one_of ;
    linkml:usage_slot_name "exactly_one_of" .

linkml:class_expression_none_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if none of the expressions hold" ;
    skos:exactMatch sh1:not ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "none_of" ;
    linkml:definition_uri linkml:none_of ;
    linkml:domain linkml:ClassExpression ;
    linkml:domain_of linkml:ClassExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:none_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:none_of ;
    linkml:usage_slot_name "none_of" .

linkml:class_uri a linkml:SlotDefinition ;
    skos:definition "URI of the class in an RDF environment" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:class_uri ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:ifabsent "class_curie" ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:class_uri .

linkml:classes a linkml:SlotDefinition ;
    skos:definition "class definitions" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:classes ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:ClassDefinition ;
    linkml:slot_uri linkml:classes .

linkml:classification_rules a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the collection of classification rules that apply to all members of this class" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:classification_rules ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:classification_rules .

linkml:code_set a linkml:SlotDefinition ;
    skos:definition "the identifier of an enumeration code set." ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:code_set ;
    linkml:domain linkml:EnumDefinition ;
    linkml:domain_of linkml:EnumDefinition ;
    linkml:owner linkml:EnumDefinition ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:code_set ;
    linkml:todos "this should be able to connect to an existing code set from TCCM" .

linkml:code_set_tag a linkml:SlotDefinition ;
    skos:definition "the version tag of the enumeration code set" ;
    skos:inScheme linkml:meta ;
    skos:note "enum_definition cannot have both a code_set_tag and a code_set_version" ;
    linkml:definition_uri linkml:code_set_tag ;
    linkml:domain linkml:EnumDefinition ;
    linkml:domain_of linkml:EnumDefinition ;
    linkml:owner linkml:EnumDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:code_set_tag .

linkml:code_set_version a linkml:SlotDefinition ;
    skos:definition "the version identifier of the enumeration code set" ;
    skos:inScheme linkml:meta ;
    skos:note "we assume that version identifiers lexically sort in temporal order. Recommend semver when possible" ;
    linkml:definition_uri linkml:code_set_version ;
    linkml:domain linkml:EnumDefinition ;
    linkml:domain_of linkml:EnumDefinition ;
    linkml:owner linkml:EnumDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:code_set_version .

linkml:default_curi_maps a linkml:SlotDefinition ;
    skos:definition "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:default_curi_maps ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:default_curi_maps .

linkml:default_prefix a linkml:SlotDefinition ;
    skos:definition "default and base prefix -- used for ':' identifiers, @base and @vocab" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:default_prefix ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:ifabsent "default_ns" ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:default_prefix .

linkml:default_range a linkml:SlotDefinition ;
    skos:definition "default slot range to be used if range element is omitted from a slot definition" ;
    skos:editorialNote "restricted to type definitions for the time being.  Could be broadened if required" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:default_range ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:TypeDefinition ;
    linkml:slot_uri linkml:default_range .

linkml:defining_slots a linkml:SlotDefinition ;
    skos:definition "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:defining_slots ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:inherited true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:defining_slots .

linkml:designates_type a linkml:SlotDefinition ;
    skos:altLabel "type designator" ;
    skos:definition "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:designates_type ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:designates_type .

linkml:domain a linkml:SlotDefinition ;
    skos:definition """defines the type of the subject of the slot.  Given the following slot definition
  S1:
    domain: C1
    range:  C2
the declaration
  X:
    S1: Y

implicitly asserts that X is an instance of C1
""" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:domain ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:ClassDefinition ;
    linkml:slot_uri linkml:domain .

linkml:domain_of a linkml:SlotDefinition ;
    skos:definition "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:domain_of ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:ClassDefinition ;
    linkml:readonly "filled in by the loader" ;
    linkml:slot_uri linkml:domain_of .

linkml:elseconditions a linkml:SlotDefinition ;
    skos:altLabel "else" ;
    skos:definition "an expression that must hold for an instance of the class, if the preconditions no not hold" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:elseconditions ;
    linkml:domain_of linkml:ClassRule ;
    linkml:inlined true ;
    linkml:owner linkml:ClassRule ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:elseconditions .

linkml:emit_prefixes a linkml:SlotDefinition ;
    skos:definition "a list of Curie prefixes that are used in the representation of instances of the model.  All prefixes in this list are added to the prefix sections of the target models." ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:emit_prefixes ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:ncname ;
    linkml:slot_uri linkml:emit_prefixes .

linkml:enums a linkml:SlotDefinition ;
    skos:definition "enumerated ranges" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:enums ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:EnumDefinition ;
    linkml:slot_uri linkml:enums .

linkml:extension_tag a linkml:SlotDefinition ;
    skos:definition "a tag associated with an extension" ;
    skos:inScheme linkml:extensions ;
    skos:prefLabel "tag" ;
    linkml:definition_uri linkml:extension_tag ;
    linkml:domain linkml:Extension ;
    linkml:domain_of linkml:Extension ;
    linkml:imported_from "linkml:extensions" ;
    linkml:key true ;
    linkml:owner linkml:Extension ;
    linkml:range linkml:uriorcurie ;
    linkml:required true ;
    linkml:slot_uri linkml:tag .

linkml:extension_value a linkml:SlotDefinition ;
    skos:definition "the actual annotation" ;
    skos:inScheme linkml:extensions ;
    skos:prefLabel "value" ;
    linkml:definition_uri linkml:extension_value ;
    linkml:domain linkml:Extension ;
    linkml:domain_of linkml:Extension ;
    linkml:imported_from "linkml:extensions" ;
    linkml:owner linkml:Extension ;
    linkml:range linkml:string ;
    linkml:required true ;
    linkml:slot_uri linkml:value .

linkml:generation_date a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "date and time that the schema was loaded/generated" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:generation_date ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:datetime ;
    linkml:readonly "supplied by the schema loader" ;
    linkml:slot_uri linkml:generation_date .

linkml:id a linkml:SlotDefinition ;
    skos:definition "The official schema URI" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:id ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:uri ;
    linkml:required true ;
    linkml:slot_uri linkml:id .

linkml:identifier a linkml:SlotDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Identifier> ;
    skos:altLabel "ID",
        "UID",
        "code",
        "primary key" ;
    skos:definition "True means that the key slot(s) uniquely identify the container. There can be at most one identifier or key per container" ;
    skos:inScheme linkml:meta ;
    skos:note "a given domain can have at most one identifier",
        "a key slot is automatically required.  Identifiers cannot be optional",
        "identifier is inherited",
        "identifiers and keys are mutually exclusive.  A given domain cannot have both" ;
    linkml:definition_uri linkml:identifier ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:identifier .

linkml:ifabsent a linkml:SlotDefinition ;
    skos:definition """function that provides a default value for the slot.  Possible values for this slot are defined in biolink.utils.ifabsent_functions.default_library:
  * [Tt]rue -- boolean True
  * [Ff]alse -- boolean False
  * int(value) -- integer value
  * str(value) -- string value
  * default_range -- schema default range
  * bnode -- blank node identifier
  * slot_uri -- URI for the slot
  * class_curie -- CURIE for the containing class
  * class_uri -- URI for the containing class""" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:ifabsent ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:ifabsent .

linkml:imports a linkml:SlotDefinition ;
    skos:definition "other schemas that are included in this schema" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:imports ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:imports .

linkml:inherited a linkml:SlotDefinition ;
    skos:definition "true means that the *value* of a slot is inherited by subclasses" ;
    skos:inScheme linkml:meta ;
    skos:note "Inherited applies to slot values.  Parent *slots* are always inherited by subclasses" ;
    linkml:definition_uri linkml:inherited ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:inherited .

linkml:inlined a linkml:SlotDefinition ;
    skos:definition "True means that keyed or identified slot appears in an outer structure by value.  False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ;
    skos:inScheme linkml:meta ;
    skos:note "classes without keys or identifiers are necessarily inlined as lists" ;
    linkml:definition_uri linkml:inlined ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:inlined .

linkml:inlined_as_list a linkml:SlotDefinition ;
    skos:definition "True means that an inlined slot is represented as a list of range instances.  False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ;
    skos:inScheme linkml:meta ;
    skos:note """A keyed or identified class with one additional slot can be input in a third form, a dictionary whose key
is the key or identifier and whose value is the one additional element.  This form is still stored according
to the inlined_as_list setting.""",
        """The default loader will accept either list or dictionary form as input.  This parameter controls internal
representation and output.""" ;
    linkml:definition_uri linkml:inlined_as_list ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:inlined_as_list .

linkml:is_class_field a linkml:SlotDefinition ;
    skos:definition "indicates that any instance, i,  the domain of this slot will include an assert of i s range" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:is_class_field ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:is_class_field .

linkml:is_usage_slot a linkml:SlotDefinition ;
    skos:definition "True means that this slot was defined in a slot_usage situation" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:is_usage_slot ;
    linkml:deprecated "Replaced by usage_slot_name" ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:readonly "filled in by the loader" ;
    linkml:slot_uri linkml:is_usage_slot .

linkml:key a linkml:SlotDefinition ;
    skos:definition "True means that the key slot(s) uniquely identify the container." ;
    skos:inScheme linkml:meta ;
    skos:note "a given domain can have at most one key slot (restriction to be removed in the future)",
        "a key slot is automatically required.  Keys cannot be optional",
        "identifiers and keys are mutually exclusive.  A given domain cannot have both",
        "key is inherited",
        "see also 'unique_key'" ;
    linkml:definition_uri linkml:key ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:key .

linkml:local_name_source a linkml:SlotDefinition ;
    skos:definition "the ncname of the source of the name" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:local_name_source ;
    linkml:domain linkml:LocalName ;
    linkml:domain_of linkml:LocalName ;
    linkml:key true ;
    linkml:owner linkml:LocalName ;
    linkml:range linkml:ncname ;
    linkml:required true ;
    linkml:slot_uri linkml:local_name_source .

linkml:meaning a linkml:SlotDefinition ;
    skos:definition "the value meaning (in the 11179 sense) of a permissible value" ;
    skos:editorialNote "we may want to change the range of this (and other) elements in the model to an entitydescription type construct" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:meaning ;
    linkml:domain linkml:PermissibleValue ;
    linkml:domain_of linkml:PermissibleValue ;
    linkml:owner linkml:PermissibleValue ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:meaning .

linkml:metamodel_version a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "Version of the metamodel used to load the schema" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:metamodel_version ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:string ;
    linkml:readonly "supplied by the schema loader" ;
    linkml:slot_uri linkml:metamodel_version .

linkml:multivalued a linkml:SlotDefinition ;
    skos:definition "true means that slot can have more than one value" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:multivalued ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:multivalued .

linkml:open_world a linkml:SlotDefinition ;
    skos:definition "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:open_world ;
    linkml:domain_of linkml:ClassRule ;
    linkml:owner linkml:ClassRule ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:open_world .

linkml:owner a linkml:SlotDefinition ;
    skos:definition "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:owner ;
    linkml:deprecated "Will be replaced by domain_of and eventually removed" ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:Definition ;
    linkml:readonly "filled in by loader -- either class domain or slot domain" ;
    linkml:slot_uri linkml:owner .

linkml:permissible_values a linkml:SlotDefinition ;
    skos:definition "A list of possible values for a slot range" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:permissible_values ;
    linkml:domain linkml:EnumDefinition ;
    linkml:domain_of linkml:EnumDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:EnumDefinition ;
    linkml:range linkml:PermissibleValue ;
    linkml:slot_uri linkml:permissible_values .

linkml:postconditions a linkml:SlotDefinition ;
    skos:altLabel "consequents",
        "head",
        "then" ;
    skos:closeMatch swrl:body ;
    skos:definition "an expression that must hold for an instance of the class, if the preconditions hold" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:postconditions ;
    linkml:domain_of linkml:ClassRule ;
    linkml:inlined true ;
    linkml:owner linkml:ClassRule ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:postconditions .

linkml:prefix_prefix a linkml:SlotDefinition ;
    skos:definition "the nsname (sans ':' for a given prefix)" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:prefix_prefix ;
    linkml:domain linkml:Prefix ;
    linkml:domain_of linkml:Prefix ;
    linkml:key true ;
    linkml:owner linkml:Prefix ;
    linkml:range linkml:ncname ;
    linkml:required true ;
    linkml:slot_uri linkml:prefix_prefix .

linkml:prefix_reference a linkml:SlotDefinition ;
    skos:definition "A URI associated with a given prefix" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:prefix_reference ;
    linkml:domain linkml:Prefix ;
    linkml:domain_of linkml:Prefix ;
    linkml:owner linkml:Prefix ;
    linkml:range linkml:uri ;
    linkml:required true ;
    linkml:slot_uri linkml:prefix_reference .

linkml:prefixes a linkml:SlotDefinition ;
    skos:definition "prefix / URI definitions to be added to the context beyond those fetched from prefixcommons in id prefixes" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:prefixes ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:Prefix ;
    linkml:slot_uri linkml:prefixes .

linkml:pv_formula a linkml:SlotDefinition ;
    skos:definition "Defines the specific formula to be used to generate the permissible values." ;
    skos:inScheme linkml:meta ;
    skos:note "code_set must be supplied for this to be valid",
        "you cannot have BOTH the permissible_values and permissible_value_formula tag" ;
    linkml:definition_uri linkml:pv_formula ;
    linkml:domain linkml:EnumDefinition ;
    linkml:domain_of linkml:EnumDefinition ;
    linkml:owner linkml:EnumDefinition ;
    linkml:range linkml:pv_formula_options ;
    linkml:slot_uri linkml:pv_formula .

linkml:readonly a linkml:SlotDefinition ;
    skos:definition "If present, slot is read only.  Text explains why" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:readonly ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:readonly .

linkml:repr a linkml:SlotDefinition ;
    skos:definition "the name of the python object that implements this type definition" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:repr ;
    linkml:domain linkml:TypeDefinition ;
    linkml:domain_of linkml:TypeDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:TypeDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:repr .

linkml:role a linkml:SlotDefinition ;
    skos:definition "the role played by the slot range" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:role ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:role .

linkml:rules a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the collection of rules that apply to all members of this class" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation sh1:rule ;
    linkml:definition_uri linkml:rules ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:ClassRule ;
    linkml:slot_uri sh1:rule .

linkml:slot_expression_all_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if all of the expressions hold" ;
    skos:exactMatch sh1:and ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "all_of" ;
    linkml:definition_uri linkml:all_of ;
    linkml:domain linkml:SlotExpression ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:all_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:AnonymousSlotExpression ;
    linkml:slot_uri linkml:all_of ;
    linkml:usage_slot_name "all_of" .

linkml:slot_expression_any_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if at least one of the expressions hold" ;
    skos:exactMatch sh1:or ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "any_of" ;
    linkml:definition_uri linkml:any_of ;
    linkml:domain linkml:SlotExpression ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:any_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:AnonymousSlotExpression ;
    linkml:slot_uri linkml:any_of ;
    linkml:usage_slot_name "any_of" .

linkml:slot_expression_exactly_one_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if only one of the expressions hold" ;
    skos:exactMatch sh1:xone ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "exactly_one_of" ;
    linkml:definition_uri linkml:exactly_one_of ;
    linkml:domain linkml:SlotExpression ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:exactly_one_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:AnonymousSlotExpression ;
    linkml:slot_uri linkml:exactly_one_of ;
    linkml:usage_slot_name "exactly_one_of" .

linkml:slot_expression_none_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if none of the expressions hold" ;
    skos:exactMatch sh1:not ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "none_of" ;
    linkml:definition_uri linkml:none_of ;
    linkml:domain linkml:SlotExpression ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:none_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:AnonymousSlotExpression ;
    linkml:slot_uri linkml:none_of ;
    linkml:usage_slot_name "none_of" .

linkml:slot_uri a linkml:SlotDefinition ;
    skos:definition "predicate of this slot for semantic web application" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:slot_uri ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:ifabsent "slot_curie" ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:slot_uri .

linkml:slot_usage a linkml:SlotDefinition ;
    skos:definition "the redefinition of a slot in the context of the containing class definition." ;
    skos:inScheme linkml:meta ;
    skos:note "Many slots may be re-used across different classes, but the meaning of the slot may be refined by context. For example, a generic association model may use slots subject/predicate/object with generic semantics and minimal constraints. When this is subclasses, e.g. to disease-phenotype associations then slot usage may specify both local naming (e.g. subject=disease) and local constraints" ;
    linkml:definition_uri linkml:slot_usage ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:slot_usage .

linkml:source_file a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "name, uri or description of the source of the schema" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:source_file ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:string ;
    linkml:readonly "suppplied by the schema loader" ;
    linkml:slot_uri linkml:source_file .

linkml:source_file_date a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "modification date of the source of the schema" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:source_file_date ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:datetime ;
    linkml:readonly "supplied by the loader" ;
    linkml:slot_uri linkml:source_file_date .

linkml:source_file_size a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "size in bytes of the source of the schema" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:source_file_size ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:integer ;
    linkml:readonly "supplied by the schema loader" ;
    linkml:slot_uri linkml:source_file_size .

linkml:subsets a linkml:SlotDefinition ;
    skos:definition "list of subsets referenced in this model" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:subsets ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:SubsetDefinition ;
    linkml:slot_uri linkml:subsets .

linkml:symmetric a linkml:SlotDefinition ;
    skos:definition "True means that any instance of  d s r implies that there is also an instance of r s d" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:symmetric ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:symmetric .

linkml:text a linkml:SlotDefinition ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:text ;
    linkml:domain linkml:PermissibleValue ;
    linkml:domain_of linkml:PermissibleValue ;
    linkml:identifier true ;
    linkml:owner linkml:PermissibleValue ;
    linkml:range linkml:string ;
    linkml:required true ;
    linkml:slot_uri linkml:text .

linkml:tree_root a linkml:SlotDefinition ;
    skos:definition "indicator that this is the root class in tree structures" ;
    skos:editorialNote "each schema should have at most one tree root" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:tree_root ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:tree_root .

linkml:type_expression_all_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if all of the expressions hold" ;
    skos:exactMatch sh1:and ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "all_of" ;
    linkml:definition_uri linkml:all_of ;
    linkml:domain linkml:TypeExpression ;
    linkml:domain_of linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:all_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:TypeExpression ;
    linkml:range linkml:AnonymousTypeExpression ;
    linkml:slot_uri linkml:all_of ;
    linkml:usage_slot_name "all_of" .

linkml:type_expression_any_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if at least one of the expressions hold" ;
    skos:exactMatch sh1:or ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "any_of" ;
    linkml:definition_uri linkml:any_of ;
    linkml:domain linkml:TypeExpression ;
    linkml:domain_of linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:any_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:TypeExpression ;
    linkml:range linkml:AnonymousTypeExpression ;
    linkml:slot_uri linkml:any_of ;
    linkml:usage_slot_name "any_of" .

linkml:type_expression_exactly_one_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if only one of the expressions hold" ;
    skos:exactMatch sh1:xone ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "exactly_one_of" ;
    linkml:definition_uri linkml:exactly_one_of ;
    linkml:domain linkml:TypeExpression ;
    linkml:domain_of linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:exactly_one_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:TypeExpression ;
    linkml:range linkml:AnonymousTypeExpression ;
    linkml:slot_uri linkml:exactly_one_of ;
    linkml:usage_slot_name "exactly_one_of" .

linkml:type_expression_none_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if none of the expressions hold" ;
    skos:exactMatch sh1:not ;
    skos:inScheme linkml:meta ;
    skos:prefLabel "none_of" ;
    linkml:definition_uri linkml:none_of ;
    linkml:domain linkml:TypeExpression ;
    linkml:domain_of linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:none_of ;
    linkml:is_usage_slot true ;
    linkml:multivalued true ;
    linkml:owner linkml:TypeExpression ;
    linkml:range linkml:AnonymousTypeExpression ;
    linkml:slot_uri linkml:none_of ;
    linkml:usage_slot_name "none_of" .

linkml:typeof a linkml:SlotDefinition ;
    skos:definition "Names a parent type" ;
    skos:inScheme linkml:meta ;
    skos:note "the target type definition of the typeof slot is referred to as the \"parent type\"",
        "the type definition containing the typeof slot is referred to as the \"child type\"",
        "type definitions without a typeof slot are referred to as a \"root type\"" ;
    linkml:definition_uri linkml:typeof ;
    linkml:domain linkml:TypeDefinition ;
    linkml:domain_of linkml:TypeDefinition ;
    linkml:owner linkml:TypeDefinition ;
    linkml:range linkml:TypeDefinition ;
    linkml:slot_uri linkml:typeof .

linkml:union_of a linkml:SlotDefinition ;
    skos:definition "indicates that the domain class consists exactly of the members of the classes in the range" ;
    skos:editorialNote "this only applies in the OWL generation" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:union_of ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:ClassDefinition ;
    linkml:slot_uri linkml:union_of .

linkml:unique_key_slots a linkml:SlotDefinition ;
    skos:definition "list of slot names that form a key" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:unique_key_slots ;
    linkml:domain linkml:UniqueKey ;
    linkml:domain_of linkml:UniqueKey ;
    linkml:multivalued true ;
    linkml:owner linkml:UniqueKey ;
    linkml:range linkml:SlotDefinition ;
    linkml:required true ;
    linkml:slot_uri linkml:unique_key_slots .

linkml:unique_keys a linkml:SlotDefinition ;
    skos:definition "Set of unique keys for this slot" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation owl:hasKey ;
    linkml:definition_uri linkml:unique_keys ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:UniqueKey ;
    linkml:slot_uri linkml:unique_keys .

linkml:usage_slot_name a linkml:SlotDefinition ;
    skos:definition "The name of the slot referenced in the slot_usage" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:usage_slot_name ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotDefinition ;
    linkml:owner linkml:SlotDefinition ;
    linkml:range linkml:string ;
    linkml:readonly "filled in by the loader" ;
    linkml:slot_uri linkml:usage_slot_name .

linkml:value a linkml:SlotDefinition ;
    skos:definition "example value" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:example ;
    linkml:definition_uri linkml:value ;
    linkml:domain linkml:Example ;
    linkml:domain_of linkml:Example ;
    linkml:owner linkml:Example ;
    linkml:range linkml:string ;
    linkml:slot_uri skos:example .

linkml:value_presence a linkml:SlotDefinition ;
    bibo:status linkml:unstable ;
    skos:definition "if true then a value must be present (for lists there must be at least one value). If false then a value must be absent (for lists, must be empty)" ;
    skos:inScheme linkml:meta ;
    skos:note "if set to true this has the same effect as required=true. In contrast, required=false allows a value to be present" ;
    linkml:definition_uri linkml:value_presence ;
    linkml:domain linkml:SlotDefinition ;
    linkml:inherited true ;
    linkml:is_a linkml:value_specification_constant ;
    linkml:owner linkml:value_presence ;
    linkml:range linkml:presence_enum ;
    linkml:slot_uri linkml:value_presence .

linkml:AnonymousExpression a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:class_uri linkml:AnonymousExpression ;
    linkml:definition_uri linkml:AnonymousExpression ;
    linkml:mixins linkml:Annotatable,
        linkml:CommonMetadata,
        linkml:Expression,
        linkml:Extensible ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:alt_descriptions,
        linkml:annotations,
        linkml:comments,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:imported_from,
        linkml:in_subset,
        linkml:notes,
        linkml:see_also,
        linkml:title,
        linkml:todos .

linkml:datetime a linkml:TypeDefinition ;
    skos:definition "The combination of a date and time" ;
    skos:inScheme linkml:types ;
    linkml:base "XSDDateTime" ;
    linkml:definition_uri linkml:Datetime ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri xsd:dateTime .

linkml:slots a linkml:SlotDefinition ;
    skos:definition "list of slot names that are applicable to a class" ;
    skos:inScheme linkml:meta ;
    skos:note "This defines the set of slots that are allowed to be used for a given class. The final list of slots for a class is the combination of the parent (is a) slots, mixins slots, apply to slots minus the slot usage entries. Formally," ;
    linkml:definition_uri linkml:slots ;
    linkml:domain linkml:ClassDefinition ;
    linkml:domain_of linkml:ClassDefinition ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassDefinition ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:slots .

linkml:uri a linkml:TypeDefinition ;
    skos:definition "a complete URI" ;
    skos:inScheme linkml:types ;
    linkml:base "URI" ;
    linkml:definition_uri linkml:Uri ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri xsd:anyURI .

linkml:Annotation a linkml:ClassDefinition ;
    skos:definition "a tag/value pair with the semantics of OWL Annotation" ;
    skos:inScheme linkml:annotations ;
    linkml:class_uri linkml:Annotation ;
    linkml:definition_uri linkml:Annotation ;
    linkml:imported_from "linkml:annotations" ;
    linkml:is_a linkml:Extension ;
    linkml:mixins linkml:Annotatable ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:annotations,
        linkml:extension_tag,
        linkml:extension_value,
        linkml:extensions .

linkml:SubsetDefinition a linkml:ClassDefinition ;
    skos:definition "the name and description of a subset" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:SubsetDefinition ;
    linkml:definition_uri linkml:SubsetDefinition ;
    linkml:is_a linkml:Element ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:aliases,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:broad_mappings,
        linkml:close_mappings,
        linkml:comments,
        linkml:conforms_to,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:id_prefixes,
        linkml:imported_from,
        linkml:in_subset,
        linkml:local_names,
        linkml:mappings,
        linkml:name,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:related_mappings,
        linkml:see_also,
        linkml:title,
        linkml:todos .

linkml:abstract a linkml:SlotDefinition ;
    skos:definition "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated." ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:abstract ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:Definition ;
    linkml:owner linkml:Definition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:abstract .

linkml:all_members a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition """the value of the multiavlued slot is a list where all elements conform to the specified values.
this defines a dynamic class with named slots according to matching constraints

E.g to state that all members of a list are between 1 and 10
```
all_members:
  x:
    range: integer
    minimum_value: 10
    maximum_value: 10
```""" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:all_members ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:list_value_specification_constant ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:all_members .

linkml:created_by a linkml:SlotDefinition ;
    skos:definition "agent that created the element" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation pav:createdBy ;
    linkml:definition_uri linkml:created_by ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Definition ;
    linkml:owner linkml:created_by ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri pav:createdBy .

linkml:created_on a linkml:SlotDefinition ;
    skos:definition "time at which the element was created" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation pav:createdOn ;
    linkml:definition_uri linkml:created_on ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Definition ;
    linkml:owner linkml:created_on ;
    linkml:range linkml:datetime ;
    linkml:slot_uri pav:createdOn .

linkml:equals_expression a linkml:SlotDefinition ;
    bibo:status linkml:unstable ;
    rdfs:seeAlso <https://github.com/linkml/linkml/issues/75> ;
    skos:definition "the value of the slot must equal the value of the evaluated expression" ;
    skos:inScheme linkml:meta ;
    skos:note "for example, a 'length' slot may have an equals_expression with value '(end-start)+1'" ;
    linkml:definition_uri linkml:equals_expression ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inherited true ;
    linkml:is_a linkml:value_specification_constant ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:equals_expression ;
    linkml:todos "specify expression language" .

linkml:has_member a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the values of the slot is multivalued with at least one member satisfying the condition" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:has_member ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:list_value_specification_constant ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:AnonymousSlotExpression ;
    linkml:slot_uri linkml:has_member .

linkml:last_updated_on a linkml:SlotDefinition ;
    skos:definition "time at which the element was last updated" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation pav:lastUpdatedOn ;
    linkml:definition_uri linkml:last_updated_on ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Definition ;
    linkml:owner linkml:last_updated_on ;
    linkml:range linkml:datetime ;
    linkml:slot_uri pav:lastUpdatedOn .

linkml:maximum_cardinality a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the maximum number of entries for a multivalued slot" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:maximum_cardinality ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inherited true ;
    linkml:is_a linkml:value_specification_constant ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:integer ;
    linkml:slot_uri linkml:maximum_cardinality .

linkml:minimum_cardinality a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the minimum number of entries for a multivalued slot" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:minimum_cardinality ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inherited true ;
    linkml:is_a linkml:value_specification_constant ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:integer ;
    linkml:slot_uri linkml:minimum_cardinality .

linkml:mixin a linkml:SlotDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Mixin> ;
    skos:altLabel "trait" ;
    skos:definition "this slot or class can only be used as a mixin." ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:mixin ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:Definition ;
    linkml:owner linkml:Definition ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:mixin .

linkml:modified_by a linkml:SlotDefinition ;
    skos:definition "agent that modified the element" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation oslc:modifiedBy ;
    linkml:definition_uri linkml:modified_by ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Definition ;
    linkml:owner linkml:modified_by ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri oslc:modifiedBy .

linkml:ncname a linkml:TypeDefinition ;
    skos:definition "Prefix part of CURIE" ;
    skos:inScheme linkml:types ;
    linkml:base "NCName" ;
    linkml:definition_uri linkml:Ncname ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri xsd:string .

linkml:range_expression a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "A range that is described as a boolean expression combining existing ranges" ;
    skos:inScheme linkml:meta ;
    skos:note "one use for this is being able to describe a range using any_of expressions, for example to combine two enums" ;
    linkml:definition_uri linkml:range_expression ;
    linkml:domain linkml:SlotExpression ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inlined true ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:AnonymousClassExpression ;
    linkml:slot_uri linkml:range_expression .

linkml:slot_conditions a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the redefinition of a slot in the context of the containing class definition." ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:slot_conditions ;
    linkml:domain_of linkml:ClassExpression ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:SlotDefinition ;
    linkml:slot_uri linkml:slot_conditions .

linkml:status a linkml:SlotDefinition ;
    skos:definition "status of the element" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation bibo:status ;
    linkml:definition_uri linkml:status ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Definition ;
    linkml:examples [ a linkml:Example ;
            skos:example "bibo:draft" ] ;
    linkml:owner linkml:status ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri bibo:status .

linkml:string_serialization a linkml:SlotDefinition ;
    rdfs:seeAlso <https://github.com/linkml/issues/128> ;
    skos:definition """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.
We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.
Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects
For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:string_serialization ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:Definition ;
    linkml:owner linkml:Definition ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:string_serialization .

linkml:values_from a linkml:SlotDefinition ;
    skos:definition "the identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:values_from ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:Definition ;
    linkml:multivalued true ;
    linkml:owner linkml:Definition ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:values_from .

linkml:AnonymousTypeExpression a linkml:ClassDefinition ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:AnonymousTypeExpression ;
    linkml:definition_uri linkml:AnonymousTypeExpression ;
    linkml:mixins linkml:TypeExpression ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:equals_number,
        linkml:equals_string,
        linkml:equals_string_in,
        linkml:pattern,
        linkml:type_expression_all_of,
        linkml:type_expression_any_of,
        linkml:type_expression_exactly_one_of,
        linkml:type_expression_none_of .

linkml:UniqueKey a linkml:ClassDefinition ;
    skos:definition "a collection of slots whose values uniquely identify an instance of a class" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:UniqueKey ;
    linkml:definition_uri linkml:UniqueKey ;
    linkml:mixins linkml:Annotatable,
        linkml:CommonMetadata,
        linkml:Extensible ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:alt_descriptions,
        linkml:annotations,
        linkml:comments,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:imported_from,
        linkml:in_subset,
        linkml:notes,
        linkml:see_also,
        linkml:title,
        linkml:todos,
        linkml:unique_key_slots .

linkml:boolean_slot a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "A grouping of slots that expression a boolean operator over a list of operands" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:definition_uri linkml:boolean_slot ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:range linkml:Expression ;
    linkml:slot_uri linkml:boolean_slot .

linkml:list_value_specification_constant a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "Grouping for metamodel slots that constrain members of a multivalued slot value to equal a specified constant" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:definition_uri linkml:list_value_specification_constant ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:list_value_specification_constant .

linkml:maximum_value a linkml:SlotDefinition ;
    skos:definition "for slots with ranges of type number, the value must be equal to or lowe than this" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:maximum_value ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inherited true ;
    linkml:owner linkml:maximum_value ;
    linkml:range linkml:integer ;
    linkml:slot_uri linkml:maximum_value .

linkml:minimum_value a linkml:SlotDefinition ;
    skos:definition "for slots with ranges of type number, the value must be equal to or higher than this" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:minimum_value ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inherited true ;
    linkml:owner linkml:minimum_value ;
    linkml:range linkml:integer ;
    linkml:slot_uri linkml:minimum_value .

linkml:range a linkml:SlotDefinition ;
    skos:definition """defines the type of the object of the slot.  Given the following slot definition
  S1:
    domain: C1
    range:  C2
the declaration
  X:
    S1: Y

implicitly asserts Y is an instance of C2
""" ;
    skos:inScheme linkml:meta ;
    skos:note "range is underspecified, as not all elements can appear as the range of a slot." ;
    linkml:definition_uri linkml:range ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:ifabsent "default_range" ;
    linkml:inherited true ;
    linkml:owner linkml:range ;
    linkml:range linkml:Element ;
    linkml:slot_uri linkml:range .

linkml:recommended a linkml:SlotDefinition ;
    rdfs:seeAlso <https://github.com/linkml/linkml/issues/177> ;
    skos:definition "true means that the slot should be present in the loaded definition, but this is not required" ;
    skos:inScheme linkml:meta ;
    skos:note "If a slot is recommended, and it is not populated, applications must not treat this as an error. Applications may use this to inform the user of missing data",
        "This is to be used where not all data is expected to conform to having a required field" ;
    linkml:definition_uri linkml:recommended ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inherited true ;
    linkml:owner linkml:recommended ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:recommended .

linkml:required a linkml:SlotDefinition ;
    skos:definition "true means that the slot must be present in the loaded definition" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:required ;
    linkml:domain linkml:SlotDefinition ;
    linkml:domain_of linkml:SlotExpression ;
    linkml:inherited true ;
    linkml:owner linkml:required ;
    linkml:range linkml:boolean ;
    linkml:slot_uri linkml:required .

linkml:AnonymousSlotExpression a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:AnonymousSlotExpression ;
    linkml:definition_uri linkml:AnonymousSlotExpression ;
    linkml:is_a linkml:AnonymousExpression ;
    linkml:mixins linkml:SlotExpression ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:all_members,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:comments,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:equals_expression,
        linkml:equals_number,
        linkml:equals_string,
        linkml:equals_string_in,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:has_member,
        linkml:imported_from,
        linkml:in_subset,
        linkml:maximum_cardinality,
        linkml:maximum_value,
        linkml:minimum_cardinality,
        linkml:minimum_value,
        linkml:notes,
        linkml:pattern,
        linkml:range,
        linkml:range_expression,
        linkml:recommended,
        linkml:required,
        linkml:see_also,
        linkml:slot_expression_all_of,
        linkml:slot_expression_any_of,
        linkml:slot_expression_exactly_one_of,
        linkml:slot_expression_none_of,
        linkml:title,
        linkml:todos .

linkml:equals_number a linkml:SlotDefinition ;
    bibo:status linkml:unstable ;
    skos:definition "the slot must have range of a number and the value of the slot must equal the specified value" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:equals_number ;
    linkml:domain_of linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inherited true ;
    linkml:is_a linkml:value_specification_constant ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:integer ;
    linkml:slot_uri linkml:equals_number .

linkml:equals_string a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the slot must have range string and the value of the slot must equal the specified value" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:equals_string ;
    linkml:domain_of linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inherited true ;
    linkml:is_a linkml:value_specification_constant ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:equals_string .

linkml:equals_string_in a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "the slot must have range string and the value of the slot must equal one of the specified values" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:equals_string_in ;
    linkml:domain_of linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inherited true ;
    linkml:is_a linkml:list_value_specification_constant ;
    linkml:multivalued true ;
    linkml:owner linkml:SlotExpression ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:equals_string_in .

linkml:integer a linkml:TypeDefinition ;
    skos:definition "An integer" ;
    skos:inScheme linkml:types ;
    linkml:base "int" ;
    linkml:definition_uri linkml:Integer ;
    linkml:imported_from "linkml:types" ;
    linkml:uri xsd:integer .

linkml:value_specification_constant a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "Grouping for metamodel slots that constrain the a slot value to equal a specified constant" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:definition_uri linkml:value_specification_constant ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:value_specification_constant .

linkml:AltDescription a linkml:ClassDefinition ;
    skos:definition "an attributed description" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:AltDescription ;
    linkml:definition_uri linkml:AltDescription ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:alt_description_source,
        linkml:alt_description_text .

linkml:LocalName a linkml:ClassDefinition ;
    skos:definition "an attributed label" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:LocalName ;
    linkml:definition_uri linkml:LocalName ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:local_name_source,
        linkml:local_name_value .

linkml:Prefix a linkml:ClassDefinition ;
    skos:definition "prefix URI tuple" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:Prefix ;
    linkml:definition_uri linkml:Prefix ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:prefix_prefix,
        linkml:prefix_reference .

linkml:aliases a linkml:SlotDefinition ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:altLabel ;
    linkml:definition_uri linkml:aliases ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Element ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:string ;
    linkml:slot_uri skos:altLabel .

linkml:apply_to a linkml:SlotDefinition ;
    skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:apply_to ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:Definition ;
    linkml:multivalued true ;
    linkml:owner linkml:Definition ;
    linkml:range linkml:Definition ;
    linkml:slot_uri linkml:apply_to .

linkml:broad_mappings a linkml:SlotDefinition ;
    skos:definition "A list of terms from different schemas or terminology systems that have broader meaning." ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation skos:broadMatch ;
    linkml:definition_uri linkml:broad_mappings ;
    linkml:domain_of linkml:Element ;
    linkml:imported_from "linkml:mappings" ;
    linkml:is_a linkml:mappings ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri skos:broadMatch .

linkml:close_mappings a linkml:SlotDefinition ;
    skos:definition "A list of terms from different schemas or terminology systems that have close meaning." ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation skos:closeMatch ;
    linkml:definition_uri linkml:close_mappings ;
    linkml:domain_of linkml:Element ;
    linkml:imported_from "linkml:mappings" ;
    linkml:is_a linkml:mappings ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri skos:closeMatch .

linkml:conforms_to a linkml:SlotDefinition ;
    skos:definition "An established standard to which the element conforms." ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation dcterms:conformsTo ;
    linkml:definition_uri linkml:conforms_to ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Element ;
    linkml:owner linkml:Element ;
    linkml:range linkml:string ;
    linkml:slot_uri dcterms:conformsTo .

linkml:exact_mappings a linkml:SlotDefinition ;
    skos:definition "A list of terms from different schemas or terminology systems that have identical meaning." ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation skos:exactMatch ;
    linkml:definition_uri linkml:exact_mappings ;
    linkml:domain_of linkml:Element ;
    linkml:imported_from "linkml:mappings" ;
    linkml:is_a linkml:mappings ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri skos:exactMatch .

linkml:narrow_mappings a linkml:SlotDefinition ;
    skos:definition "A list of terms from different schemas or terminology systems that have narrower meaning." ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation skos:narrowMatch ;
    linkml:definition_uri linkml:narrow_mappings ;
    linkml:domain_of linkml:Element ;
    linkml:imported_from "linkml:mappings" ;
    linkml:is_a linkml:mappings ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri skos:narrowMatch .

linkml:pattern a linkml:SlotDefinition ;
    skos:definition "the string value of the slot must conform to this regular expression" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:pattern ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inherited true ;
    linkml:owner linkml:pattern ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:pattern .

linkml:related_mappings a linkml:SlotDefinition ;
    skos:definition "A list of terms from different schemas or terminology systems that have related meaning." ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation skos:relatedMatch ;
    linkml:definition_uri linkml:related_mappings ;
    linkml:domain_of linkml:Element ;
    linkml:imported_from "linkml:mappings" ;
    linkml:is_a linkml:mappings ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri skos:relatedMatch .

linkml:Annotatable a linkml:ClassDefinition ;
    skos:definition "mixin for classes that support annotations" ;
    skos:inScheme linkml:annotations ;
    linkml:class_uri linkml:Annotatable ;
    linkml:definition_uri linkml:Annotatable ;
    linkml:imported_from "linkml:annotations" ;
    linkml:mixin true ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:annotations .

linkml:Example a linkml:ClassDefinition ;
    skos:definition "usage example and description" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:Example ;
    linkml:definition_uri linkml:Example ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:value,
        linkml:value_description .

linkml:Expression a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:definition "todo" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:class_uri linkml:Expression ;
    linkml:definition_uri linkml:Expression ;
    linkml:mixin true ;
    linkml:slot_usage [ ] .

linkml:Extensible a linkml:ClassDefinition ;
    skos:definition "mixin for classes that support extension" ;
    skos:inScheme linkml:extensions ;
    linkml:class_uri linkml:Extensible ;
    linkml:definition_uri linkml:Extensible ;
    linkml:imported_from "linkml:extensions" ;
    linkml:mixin true ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:extensions .

linkml:definition_uri a linkml:SlotDefinition ;
    skos:definition "the \"native\" URI of the element" ;
    skos:inScheme linkml:meta ;
    skos:note "Formed by combining the default_prefix with the mangled element" ;
    linkml:definition_uri linkml:definition_uri ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Element ;
    linkml:owner linkml:Element ;
    linkml:range linkml:uriorcurie ;
    linkml:readonly "filled in by the schema loader" ;
    linkml:slot_uri linkml:definition_uri .

linkml:id_prefixes a linkml:SlotDefinition ;
    rdfs:seeAlso <https://github.com/linkml/linkml-model/issues/28>,
        <https://github.com/linkml/linkml/issues/194> ;
    skos:definition "the identifier of this class or slot must begin with the URIs referenced by this prefix" ;
    skos:inScheme linkml:meta ;
    skos:note "If identifiers are treated as CURIEs, then the CURIE must start with one of the indicated prefixes followed by `:` (_should_ start if the list is open)",
        "If identifiers are treated as URIs, then the URI string must start with the expanded for of the prefix (_should_ start if the list is open)",
        "Order of elements may be used to indicate priority order" ;
    linkml:definition_uri linkml:id_prefixes ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Element ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:ncname ;
    linkml:slot_uri linkml:id_prefixes .

linkml:local_names a linkml:SlotDefinition ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:local_names ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Element ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:LocalName ;
    linkml:slot_uri linkml:local_names .

linkml:name a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Data_element_name> ;
    skos:definition "the unique name of the element within the context of the schema.  Name is combined with the default prefix to form the globally unique subject of the target class." ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation schema1:name,
        rdfs:label ;
    linkml:definition_uri linkml:name ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:Element ;
    linkml:identifier true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:string ;
    linkml:required true ;
    linkml:slot_uri rdfs:label .

linkml:Extension a linkml:ClassDefinition ;
    skos:definition "a tag/value pair used to add non-model information to an entry" ;
    skos:inScheme linkml:extensions ;
    linkml:class_uri linkml:Extension ;
    linkml:definition_uri linkml:Extension ;
    linkml:imported_from "linkml:extensions" ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:extension_tag,
        linkml:extension_value,
        linkml:extensions .

linkml:all_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if all of the expressions hold" ;
    skos:exactMatch sh1:and ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:all_of ;
    linkml:domain_of linkml:ClassExpression,
        linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:boolean_slot ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:Expression ;
    linkml:slot_uri linkml:all_of .

linkml:any_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if at least one of the expressions hold" ;
    skos:exactMatch sh1:or ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:any_of ;
    linkml:domain_of linkml:ClassExpression,
        linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:boolean_slot ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:Expression ;
    linkml:slot_uri linkml:any_of .

linkml:exactly_one_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if only one of the expressions hold" ;
    skos:exactMatch sh1:xone ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:exactly_one_of ;
    linkml:domain_of linkml:ClassExpression,
        linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:boolean_slot ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:Expression ;
    linkml:slot_uri linkml:exactly_one_of .

linkml:none_of a linkml:SlotDefinition ;
    bibo:status linkml:testing ;
    skos:definition "holds if none of the expressions hold" ;
    skos:exactMatch sh1:not ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:none_of ;
    linkml:domain_of linkml:ClassExpression,
        linkml:SlotExpression,
        linkml:TypeExpression ;
    linkml:inlined true ;
    linkml:is_a linkml:boolean_slot ;
    linkml:multivalued true ;
    linkml:owner linkml:ClassExpression ;
    linkml:range linkml:Expression ;
    linkml:slot_uri linkml:none_of .

linkml:mixins a linkml:SlotDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Mixin> ;
    skos:altLabel "traits" ;
    skos:definition "List of definitions to be mixed in. Targets may be any definition of the same type" ;
    skos:inScheme linkml:meta ;
    skos:note "mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierachy, while keeping the benefits of multiple inheritance" ;
    linkml:definition_uri linkml:mixins ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:Definition ;
    linkml:multivalued true ;
    linkml:owner linkml:Definition ;
    linkml:range linkml:Definition ;
    linkml:slot_uri linkml:mixins .

linkml:AnonymousClassExpression a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:AnonymousClassExpression ;
    linkml:definition_uri linkml:AnonymousClassExpression ;
    linkml:is_a linkml:AnonymousExpression ;
    linkml:mixins linkml:ClassExpression ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:alt_descriptions,
        linkml:annotations,
        linkml:class_expression_all_of,
        linkml:class_expression_any_of,
        linkml:class_expression_exactly_one_of,
        linkml:class_expression_none_of,
        linkml:comments,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:imported_from,
        linkml:in_subset,
        linkml:is_a,
        linkml:notes,
        linkml:see_also,
        linkml:slot_conditions,
        linkml:title,
        linkml:todos .

linkml:is_a a linkml:SlotDefinition ;
    skos:definition "specifies single-inheritance between classes or slots. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:definition_uri linkml:is_a ;
    linkml:domain linkml:Definition ;
    linkml:domain_of linkml:AnonymousClassExpression,
        linkml:Definition ;
    linkml:owner linkml:AnonymousClassExpression ;
    linkml:range linkml:Definition ;
    linkml:slot_uri linkml:is_a .

linkml:owl a linkml:SubsetDefinition ;
    skos:definition "Set of slots that appear in the OWL representation of a model" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:Owl .

linkml:comments a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "notes and comments about an element intended for external consumption" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:note ;
    linkml:definition_uri linkml:comments ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:multivalued true ;
    linkml:owner linkml:comments ;
    linkml:range linkml:string ;
    linkml:slot_uri skos:note .

linkml:deprecated_element_has_exact_replacement a linkml:SlotDefinition ;
    skos:definition "When an element is deprecated, it can be automatically replaced by this uri or curie" ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation <http://purl.obolibrary.org/obo/IAO_0100001> ;
    linkml:definition_uri linkml:deprecated_element_has_exact_replacement ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:imported_from "linkml:mappings" ;
    linkml:owner linkml:CommonMetadata ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:deprecated_element_has_exact_replacement .

linkml:deprecated_element_has_possible_replacement a linkml:SlotDefinition ;
    skos:definition "When an element is deprecated, it can be potentially replaced by this uri or curie" ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation OIO:consider ;
    linkml:definition_uri linkml:deprecated_element_has_possible_replacement ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:imported_from "linkml:mappings" ;
    linkml:owner linkml:CommonMetadata ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri linkml:deprecated_element_has_possible_replacement .

linkml:from_schema a linkml:SlotDefinition ;
    skos:definition "id of the schema that defined the element" ;
    skos:editorialNote "A stronger model would be range schema_definition, but this doesn't address the import model" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:inScheme ;
    linkml:definition_uri linkml:from_schema ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:owner linkml:from_schema ;
    linkml:range linkml:uri ;
    linkml:readonly "supplied by the schema loader" ;
    linkml:slot_uri skos:inScheme .

linkml:in_subset a linkml:SlotDefinition ;
    skos:definition "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation OIO:inSubset ;
    linkml:definition_uri linkml:in_subset ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:multivalued true ;
    linkml:owner linkml:in_subset ;
    linkml:range linkml:SubsetDefinition ;
    linkml:slot_uri OIO:inSubset .

linkml:notes a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "editorial notes about an element intended for internal consumption" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:editorialNote ;
    linkml:definition_uri linkml:notes ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:multivalued true ;
    linkml:owner linkml:notes ;
    linkml:range linkml:string ;
    linkml:slot_uri skos:editorialNote .

linkml:see_also a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "a reference" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation rdfs:seeAlso ;
    linkml:definition_uri linkml:see_also ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:multivalued true ;
    linkml:owner linkml:see_also ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri rdfs:seeAlso .

linkml:title a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "the official title of the element" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation dcterms:title ;
    linkml:definition_uri linkml:title ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:owner linkml:title ;
    linkml:range linkml:string ;
    linkml:slot_uri dcterms:title .

linkml:ClassRule a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:altLabel "if rule" ;
    skos:closeMatch swrl:Imp,
        sh1:TripleRule ;
    skos:definition "A rule that applies to instances of a class" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:ClassRule ;
    linkml:definition_uri linkml:ClassRule ;
    linkml:is_a linkml:ClassLevelRule ;
    linkml:mixins linkml:Annotatable,
        linkml:CommonMetadata,
        linkml:Extensible ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:alt_descriptions,
        linkml:annotations,
        linkml:bidirectional,
        linkml:comments,
        linkml:deactivated,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:elseconditions,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:imported_from,
        linkml:in_subset,
        linkml:notes,
        linkml:open_world,
        linkml:postconditions,
        linkml:precedence,
        linkml:preconditions,
        linkml:see_also,
        linkml:title,
        linkml:todos .

linkml:EnumDefinition a linkml:ClassDefinition ;
    skos:definition "List of values that constrain the range of a slot" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:EnumDefinition ;
    linkml:definition_uri linkml:EnumDefinition ;
    linkml:is_a linkml:Element ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:aliases,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:broad_mappings,
        linkml:close_mappings,
        linkml:code_set,
        linkml:code_set_tag,
        linkml:code_set_version,
        linkml:comments,
        linkml:conforms_to,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:id_prefixes,
        linkml:imported_from,
        linkml:in_subset,
        linkml:local_names,
        linkml:mappings,
        linkml:name,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:permissible_values,
        linkml:pv_formula,
        linkml:related_mappings,
        linkml:see_also,
        linkml:title,
        linkml:todos .

linkml:PermissibleValue a linkml:ClassDefinition ;
    skos:definition "a permissible value, accompanied by intended text and an optional mapping to a concept URI" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:PermissibleValue ;
    linkml:definition_uri linkml:PermissibleValue ;
    linkml:mixins linkml:Annotatable,
        linkml:CommonMetadata,
        linkml:Extensible ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:alt_descriptions,
        linkml:annotations,
        linkml:comments,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:imported_from,
        linkml:in_subset,
        linkml:meaning,
        linkml:notes,
        linkml:permissible_value_is_a,
        linkml:permissible_value_mixins,
        linkml:see_also,
        linkml:text,
        linkml:title,
        linkml:todos .

linkml:alt_descriptions a linkml:SlotDefinition ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:alt_descriptions ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:alt_descriptions ;
    linkml:range linkml:AltDescription ;
    linkml:slot_uri linkml:alt_descriptions .

linkml:boolean a linkml:TypeDefinition ;
    skos:definition "A binary (true or false) value" ;
    skos:inScheme linkml:types ;
    linkml:base "Bool" ;
    linkml:definition_uri linkml:Boolean ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "bool" ;
    linkml:uri xsd:boolean .

linkml:deprecated a linkml:SlotDefinition ;
    skos:definition "Description of why and when this element will no longer be used" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:deprecated ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:owner linkml:deprecated ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:deprecated .

linkml:examples a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "example usages of an element" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:examples ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:examples ;
    linkml:range linkml:Example ;
    linkml:slot_uri linkml:examples .

linkml:imported_from a linkml:SlotDefinition ;
    skos:definition "the imports entry that this element was derived from.  Empty means primary source" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:imported_from ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:owner linkml:imported_from ;
    linkml:range linkml:string ;
    linkml:readonly "supplied by the schema loader" ;
    linkml:slot_uri linkml:imported_from .

linkml:todos a linkml:SlotDefinition ;
    skos:definition "Outstanding issue that needs resolution" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:todos ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata ;
    linkml:multivalued true ;
    linkml:owner linkml:todos ;
    linkml:range linkml:string ;
    linkml:slot_uri linkml:todos .

linkml:types a linkml:SlotDefinition ;
    skos:definition "data types used in the model" ;
    skos:inScheme linkml:meta ;
    linkml:definition_uri linkml:types ;
    linkml:domain linkml:SchemaDefinition ;
    linkml:domain_of linkml:SchemaDefinition ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:SchemaDefinition ;
    linkml:range linkml:TypeDefinition ;
    linkml:slot_uri linkml:types .

linkml:description a linkml:SlotDefinition ;
    OIO:inSubset linkml:owl ;
    skos:definition "a description of the element's purpose and use" ;
    skos:inScheme linkml:meta ;
    skos:mappingRelation skos:definition ;
    linkml:definition_uri linkml:description ;
    linkml:domain linkml:Element ;
    linkml:domain_of linkml:CommonMetadata,
        linkml:PermissibleValue ;
    linkml:owner linkml:description ;
    linkml:range linkml:string ;
    linkml:slot_uri skos:definition .

linkml:annotations a linkml:SlotDefinition ;
    skos:definition "a collection of tag/text tuples with the semantics of OWL Annotation" ;
    skos:inScheme linkml:annotations ;
    linkml:definition_uri linkml:annotations ;
    linkml:domain linkml:Annotatable ;
    linkml:domain_of linkml:Annotatable,
        linkml:Annotation ;
    linkml:imported_from "linkml:annotations" ;
    linkml:inlined true ;
    linkml:is_a linkml:extensions ;
    linkml:multivalued true ;
    linkml:owner linkml:Annotation ;
    linkml:range linkml:Annotation ;
    linkml:slot_uri linkml:annotations .

linkml:uriorcurie a linkml:TypeDefinition ;
    skos:definition "a URI or a CURIE" ;
    skos:inScheme linkml:types ;
    linkml:base "URIorCURIE" ;
    linkml:definition_uri linkml:Uriorcurie ;
    linkml:imported_from "linkml:types" ;
    linkml:repr "str" ;
    linkml:uri xsd:anyURI .

linkml:CommonMetadata a linkml:ClassDefinition ;
    skos:definition "Generic metadata shared across definitions" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:CommonMetadata ;
    linkml:definition_uri linkml:CommonMetadata ;
    linkml:mixin true ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:alt_descriptions,
        linkml:comments,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:examples,
        linkml:from_schema,
        linkml:imported_from,
        linkml:in_subset,
        linkml:notes,
        linkml:see_also,
        linkml:title,
        linkml:todos .

linkml:mappings a linkml:SlotDefinition ;
    skos:definition "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ;
    skos:inScheme linkml:mappings ;
    skos:mappingRelation skos:mappingRelation ;
    linkml:definition_uri linkml:mappings ;
    linkml:domain_of linkml:Element ;
    linkml:imported_from "linkml:mappings" ;
    linkml:multivalued true ;
    linkml:owner linkml:Element ;
    linkml:range linkml:uriorcurie ;
    linkml:slot_uri skos:mappingRelation .

linkml:TypeExpression a linkml:ClassDefinition ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:TypeExpression ;
    linkml:definition_uri linkml:TypeExpression ;
    linkml:is_a linkml:Expression ;
    linkml:mixin true ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:equals_number,
        linkml:equals_string,
        linkml:equals_string_in,
        linkml:pattern,
        linkml:type_expression_all_of,
        linkml:type_expression_any_of,
        linkml:type_expression_exactly_one_of,
        linkml:type_expression_none_of .

linkml:ClassExpression a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:definition "A boolean expression that can be used to dynamically determine membership of a class" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:ClassExpression ;
    linkml:definition_uri linkml:ClassExpression ;
    linkml:mixin true ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:class_expression_all_of,
        linkml:class_expression_any_of,
        linkml:class_expression_exactly_one_of,
        linkml:class_expression_none_of,
        linkml:slot_conditions .

linkml:extensions a linkml:SlotDefinition ;
    skos:definition "a tag/text tuple attached to an arbitrary element" ;
    skos:inScheme linkml:extensions ;
    linkml:definition_uri linkml:extensions ;
    linkml:domain linkml:Extensible ;
    linkml:domain_of linkml:Extensible,
        linkml:Extension ;
    linkml:imported_from "linkml:extensions" ;
    linkml:inlined true ;
    linkml:multivalued true ;
    linkml:owner linkml:Extensible ;
    linkml:range linkml:Extension ;
    linkml:slot_uri linkml:extensions .

linkml:TypeDefinition a linkml:ClassDefinition ;
    skos:definition "A data type definition." ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:TypeDefinition ;
    linkml:definition_uri linkml:TypeDefinition ;
    linkml:is_a linkml:Element ;
    linkml:mixins linkml:TypeExpression ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:aliases,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:base,
        linkml:broad_mappings,
        linkml:close_mappings,
        linkml:comments,
        linkml:conforms_to,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:equals_number,
        linkml:equals_string,
        linkml:equals_string_in,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:id_prefixes,
        linkml:imported_from,
        linkml:in_subset,
        linkml:local_names,
        linkml:mappings,
        linkml:name,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:pattern,
        linkml:related_mappings,
        linkml:repr,
        linkml:see_also,
        linkml:title,
        linkml:todos,
        linkml:type_expression_all_of,
        linkml:type_expression_any_of,
        linkml:type_expression_exactly_one_of,
        linkml:type_expression_none_of,
        linkml:type_uri,
        linkml:typeof .

linkml:Definition a linkml:ClassDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Data_element_definition> ;
    skos:definition "base class for definitions" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:class_uri linkml:Definition ;
    linkml:definition_uri linkml:Definition ;
    linkml:is_a linkml:Element ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:abstract,
        linkml:aliases,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:apply_to,
        linkml:broad_mappings,
        linkml:close_mappings,
        linkml:comments,
        linkml:conforms_to,
        linkml:created_by,
        linkml:created_on,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:id_prefixes,
        linkml:imported_from,
        linkml:in_subset,
        linkml:is_a,
        linkml:last_updated_on,
        linkml:local_names,
        linkml:mappings,
        linkml:mixin,
        linkml:mixins,
        linkml:modified_by,
        linkml:name,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:related_mappings,
        linkml:see_also,
        linkml:status,
        linkml:string_serialization,
        linkml:title,
        linkml:todos,
        linkml:values_from .

linkml:string a linkml:TypeDefinition ;
    skos:definition "A character string" ;
    skos:inScheme linkml:types ;
    linkml:base "str" ;
    linkml:definition_uri linkml:String ;
    linkml:imported_from "linkml:types" ;
    linkml:uri xsd:string .

linkml:SlotExpression a linkml:ClassDefinition ;
    bibo:status linkml:testing ;
    skos:definition "an expression that constrains the range of values a slot can take" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:SlotExpression ;
    linkml:definition_uri linkml:SlotExpression ;
    linkml:is_a linkml:Expression ;
    linkml:mixin true ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:all_members,
        linkml:equals_expression,
        linkml:equals_number,
        linkml:equals_string,
        linkml:equals_string_in,
        linkml:has_member,
        linkml:maximum_cardinality,
        linkml:maximum_value,
        linkml:minimum_cardinality,
        linkml:minimum_value,
        linkml:pattern,
        linkml:range,
        linkml:range_expression,
        linkml:recommended,
        linkml:required,
        linkml:slot_expression_all_of,
        linkml:slot_expression_any_of,
        linkml:slot_expression_exactly_one_of,
        linkml:slot_expression_none_of .

linkml:Element a linkml:ClassDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Data_element> ;
    skos:definition "a named element in the model" ;
    skos:inScheme linkml:meta ;
    linkml:abstract true ;
    linkml:class_uri linkml:Element ;
    linkml:definition_uri linkml:Element ;
    linkml:mixins linkml:Annotatable,
        linkml:CommonMetadata,
        linkml:Extensible ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:aliases,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:broad_mappings,
        linkml:close_mappings,
        linkml:comments,
        linkml:conforms_to,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:id_prefixes,
        linkml:imported_from,
        linkml:in_subset,
        linkml:local_names,
        linkml:mappings,
        linkml:name,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:related_mappings,
        linkml:see_also,
        linkml:title,
        linkml:todos .

linkml:SchemaDefinition a linkml:ClassDefinition ;
    rdfs:seeAlso <https://en.wikipedia.org/wiki/Data_dictionary> ;
    skos:altLabel "data dictionary" ;
    skos:definition "a collection of subset, type, slot and class definitions" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:SchemaDefinition ;
    linkml:definition_uri linkml:SchemaDefinition ;
    linkml:is_a linkml:Element ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:aliases,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:broad_mappings,
        linkml:classes,
        linkml:close_mappings,
        linkml:comments,
        linkml:conforms_to,
        linkml:default_curi_maps,
        linkml:default_prefix,
        linkml:default_range,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:emit_prefixes,
        linkml:enums,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:generation_date,
        linkml:id,
        linkml:id_prefixes,
        linkml:imported_from,
        linkml:imports,
        linkml:in_subset,
        linkml:license,
        linkml:local_names,
        linkml:mappings,
        linkml:metamodel_version,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:prefixes,
        linkml:related_mappings,
        linkml:schema_definition_name,
        linkml:see_also,
        linkml:slot_definitions,
        linkml:source_file,
        linkml:source_file_date,
        linkml:source_file_size,
        linkml:subsets,
        linkml:title,
        linkml:todos,
        linkml:types,
        linkml:version ;
    linkml:tree_root true .

linkml:ClassDefinition a linkml:ClassDefinition ;
    skos:altLabel "message",
        "observation",
        "record",
        "table",
        "template" ;
    skos:closeMatch owl:Class ;
    skos:definition "the definition of a class or interface" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:ClassDefinition ;
    linkml:definition_uri linkml:ClassDefinition ;
    linkml:is_a linkml:Definition ;
    linkml:mixins linkml:ClassExpression ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:abstract,
        linkml:aliases,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:attributes,
        linkml:broad_mappings,
        linkml:class_definition_apply_to,
        linkml:class_definition_is_a,
        linkml:class_definition_mixins,
        linkml:class_definition_rules,
        linkml:class_expression_all_of,
        linkml:class_expression_any_of,
        linkml:class_expression_exactly_one_of,
        linkml:class_expression_none_of,
        linkml:class_uri,
        linkml:classification_rules,
        linkml:close_mappings,
        linkml:comments,
        linkml:conforms_to,
        linkml:created_by,
        linkml:created_on,
        linkml:defining_slots,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:id_prefixes,
        linkml:imported_from,
        linkml:in_subset,
        linkml:last_updated_on,
        linkml:local_names,
        linkml:mappings,
        linkml:mixin,
        linkml:modified_by,
        linkml:name,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:related_mappings,
        linkml:see_also,
        linkml:slot_conditions,
        linkml:slot_usage,
        linkml:slots,
        linkml:status,
        linkml:string_serialization,
        linkml:subclass_of,
        linkml:title,
        linkml:todos,
        linkml:tree_root,
        linkml:union_of,
        linkml:unique_keys,
        linkml:values_from .

linkml:meta a linkml:SchemaDefinition ;
    dcterms:license "https://creativecommons.org/publicdomain/zero/1.0/" ;
    dcterms:title "LinkML Schema Metamodel" ;
    pav:version "2.0.0" ;
    skos:definition "A metamodel for defining linked open data schemas" ;
    linkml:classes linkml:AltDescription,
        linkml:Annotatable,
        linkml:Annotation,
        linkml:AnonymousClassExpression,
        linkml:AnonymousExpression,
        linkml:AnonymousSlotExpression,
        linkml:AnonymousTypeExpression,
        linkml:ClassDefinition,
        linkml:ClassExpression,
        linkml:ClassLevelRule,
        linkml:ClassRule,
        linkml:CommonMetadata,
        linkml:Definition,
        linkml:Element,
        linkml:EnumDefinition,
        linkml:Example,
        linkml:Expression,
        linkml:Extensible,
        linkml:Extension,
        linkml:LocalName,
        linkml:PermissibleValue,
        linkml:Prefix,
        linkml:SchemaDefinition,
        linkml:SlotDefinition,
        linkml:SlotExpression,
        linkml:SubsetDefinition,
        linkml:TypeDefinition,
        linkml:TypeExpression,
        linkml:UniqueKey ;
    linkml:default_curi_maps "semweb_context" ;
    linkml:default_prefix "linkml" ;
    linkml:default_range linkml:string ;
    linkml:emit_prefixes "IAO",
        "OIO",
        "dcterms",
        "linkml",
        "owl",
        "pav",
        "rdf",
        "rdfs",
        "skos",
        "xsd" ;
    linkml:enums linkml:presence_enum,
        linkml:pv_formula_options ;
    linkml:generation_date "2022-01-05T01:12:16"^^xsd:dateTime ;
    linkml:id linkml:meta ;
    linkml:imports linkml:annotations,
        linkml:extensions,
        linkml:mappings,
        linkml:types ;
    linkml:metamodel_version "1.7.0" ;
    linkml:prefixes [ linkml:prefix_prefix "pav" ;
            linkml:prefix_reference pav: ],
        [ linkml:prefix_prefix "oslc" ;
            linkml:prefix_reference oslc: ],
        [ linkml:prefix_prefix "swrl" ;
            linkml:prefix_reference swrl: ],
        [ linkml:prefix_prefix "linkml" ;
            linkml:prefix_reference linkml: ],
        [ linkml:prefix_prefix "bibo" ;
            linkml:prefix_reference bibo: ],
        [ linkml:prefix_prefix "owl" ;
            linkml:prefix_reference owl: ],
        [ linkml:prefix_prefix "schema" ;
            linkml:prefix_reference schema1: ],
        [ linkml:prefix_prefix "OIO" ;
            linkml:prefix_reference OIO: ],
        [ linkml:prefix_prefix "sh" ;
            linkml:prefix_reference sh1: ],
        [ linkml:prefix_prefix "skos" ;
            linkml:prefix_reference skos: ] ;
    linkml:slots linkml:abstract,
        linkml:alias,
        linkml:aliases,
        linkml:all_members,
        linkml:all_of,
        linkml:alt_description_source,
        linkml:alt_description_text,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:any_of,
        linkml:apply_to,
        linkml:attributes,
        linkml:base,
        linkml:bidirectional,
        linkml:boolean_slot,
        linkml:broad_mappings,
        linkml:class_definition_apply_to,
        linkml:class_definition_is_a,
        linkml:class_definition_mixins,
        linkml:class_definition_rules,
        linkml:class_expression_all_of,
        linkml:class_expression_any_of,
        linkml:class_expression_exactly_one_of,
        linkml:class_expression_none_of,
        linkml:class_uri,
        linkml:classes,
        linkml:classification_rules,
        linkml:close_mappings,
        linkml:code_set,
        linkml:code_set_tag,
        linkml:code_set_version,
        linkml:comments,
        linkml:conforms_to,
        linkml:created_by,
        linkml:created_on,
        linkml:deactivated,
        linkml:default_curi_maps,
        linkml:default_prefix,
        linkml:default_range,
        linkml:defining_slots,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:designates_type,
        linkml:domain,
        linkml:domain_of,
        linkml:elseconditions,
        linkml:emit_prefixes,
        linkml:enums,
        linkml:equals_expression,
        linkml:equals_number,
        linkml:equals_number_in,
        linkml:equals_string,
        linkml:equals_string_in,
        linkml:exact_mappings,
        linkml:exactly_one_of,
        linkml:examples,
        linkml:extension_tag,
        linkml:extension_value,
        linkml:extensions,
        linkml:from_schema,
        linkml:generation_date,
        linkml:has_member,
        linkml:id,
        linkml:id_prefixes,
        linkml:identifier,
        linkml:ifabsent,
        linkml:imported_from,
        linkml:imports,
        linkml:in_subset,
        linkml:inherited,
        linkml:inlined,
        linkml:inlined_as_list,
        linkml:inverse,
        linkml:is_a,
        linkml:is_class_field,
        linkml:is_usage_slot,
        linkml:key,
        linkml:last_updated_on,
        linkml:license,
        linkml:list_value_specification_constant,
        linkml:local_name_source,
        linkml:local_name_value,
        linkml:local_names,
        linkml:mappings,
        linkml:maximum_cardinality,
        linkml:maximum_value,
        linkml:meaning,
        linkml:metamodel_version,
        linkml:minimum_cardinality,
        linkml:minimum_value,
        linkml:mixin,
        linkml:mixins,
        linkml:modified_by,
        linkml:multivalued,
        linkml:name,
        linkml:narrow_mappings,
        linkml:none_of,
        linkml:notes,
        linkml:open_world,
        linkml:owner,
        linkml:pattern,
        linkml:permissible_value_is_a,
        linkml:permissible_value_mixins,
        linkml:permissible_values,
        linkml:postconditions,
        linkml:precedence,
        linkml:preconditions,
        linkml:prefix_prefix,
        linkml:prefix_reference,
        linkml:prefixes,
        linkml:pv_formula,
        linkml:range,
        linkml:range_expression,
        linkml:readonly,
        linkml:recommended,
        linkml:related_mappings,
        linkml:repr,
        linkml:required,
        linkml:role,
        linkml:rules,
        linkml:schema_definition_name,
        linkml:see_also,
        linkml:singular_name,
        linkml:slot_conditions,
        linkml:slot_definition_apply_to,
        linkml:slot_definition_is_a,
        linkml:slot_definition_mixins,
        linkml:slot_definitions,
        linkml:slot_expression_all_of,
        linkml:slot_expression_any_of,
        linkml:slot_expression_exactly_one_of,
        linkml:slot_expression_none_of,
        linkml:slot_uri,
        linkml:slot_usage,
        linkml:slots,
        linkml:source_file,
        linkml:source_file_date,
        linkml:source_file_size,
        linkml:status,
        linkml:string_serialization,
        linkml:subclass_of,
        linkml:subproperty_of,
        linkml:subsets,
        linkml:symmetric,
        linkml:text,
        linkml:title,
        linkml:todos,
        linkml:tree_root,
        linkml:type_expression_all_of,
        linkml:type_expression_any_of,
        linkml:type_expression_exactly_one_of,
        linkml:type_expression_none_of,
        linkml:type_uri,
        linkml:typeof,
        linkml:types,
        linkml:union_of,
        linkml:unique_key_slots,
        linkml:unique_keys,
        linkml:usage_slot_name,
        linkml:value,
        linkml:value_description,
        linkml:value_presence,
        linkml:value_specification_constant,
        linkml:values_from,
        linkml:version ;
    linkml:source_file "meta.yaml" ;
    linkml:source_file_date "2022-01-05T01:07:33"^^xsd:dateTime ;
    linkml:source_file_size 45186 ;
    linkml:subsets linkml:owl ;
    linkml:types linkml:boolean,
        linkml:date,
        linkml:datetime,
        linkml:decimal,
        linkml:double,
        linkml:float,
        linkml:integer,
        linkml:ncname,
        linkml:nodeidentifier,
        linkml:objectidentifier,
        linkml:string,
        linkml:time,
        linkml:uri,
        linkml:uriorcurie .

linkml:SlotDefinition a linkml:ClassDefinition ;
    skos:altLabel "attribute",
        "column",
        "field",
        "property",
        "slot",
        "variable" ;
    skos:closeMatch rdf:Property ;
    skos:definition "the definition of a property or a slot" ;
    skos:inScheme linkml:meta ;
    linkml:class_uri linkml:SlotDefinition ;
    linkml:definition_uri linkml:SlotDefinition ;
    linkml:is_a linkml:Definition ;
    linkml:mixins linkml:SlotExpression ;
    linkml:slot_usage [ ] ;
    linkml:slots linkml:abstract,
        linkml:alias,
        linkml:aliases,
        linkml:all_members,
        linkml:alt_descriptions,
        linkml:annotations,
        linkml:broad_mappings,
        linkml:close_mappings,
        linkml:comments,
        linkml:conforms_to,
        linkml:created_by,
        linkml:created_on,
        linkml:definition_uri,
        linkml:deprecated,
        linkml:deprecated_element_has_exact_replacement,
        linkml:deprecated_element_has_possible_replacement,
        linkml:description,
        linkml:designates_type,
        linkml:domain,
        linkml:domain_of,
        linkml:equals_expression,
        linkml:equals_number,
        linkml:equals_string,
        linkml:equals_string_in,
        linkml:exact_mappings,
        linkml:examples,
        linkml:extensions,
        linkml:from_schema,
        linkml:has_member,
        linkml:id_prefixes,
        linkml:identifier,
        linkml:ifabsent,
        linkml:imported_from,
        linkml:in_subset,
        linkml:inherited,
        linkml:inlined,
        linkml:inlined_as_list,
        linkml:inverse,
        linkml:is_class_field,
        linkml:is_usage_slot,
        linkml:key,
        linkml:last_updated_on,
        linkml:local_names,
        linkml:mappings,
        linkml:maximum_cardinality,
        linkml:maximum_value,
        linkml:minimum_cardinality,
        linkml:minimum_value,
        linkml:mixin,
        linkml:modified_by,
        linkml:multivalued,
        linkml:name,
        linkml:narrow_mappings,
        linkml:notes,
        linkml:owner,
        linkml:pattern,
        linkml:range,
        linkml:range_expression,
        linkml:readonly,
        linkml:recommended,
        linkml:related_mappings,
        linkml:required,
        linkml:role,
        linkml:see_also,
        linkml:singular_name,
        linkml:slot_definition_apply_to,
        linkml:slot_definition_is_a,
        linkml:slot_definition_mixins,
        linkml:slot_expression_all_of,
        linkml:slot_expression_any_of,
        linkml:slot_expression_exactly_one_of,
        linkml:slot_expression_none_of,
        linkml:slot_uri,
        linkml:status,
        linkml:string_serialization,
        linkml:subproperty_of,
        linkml:symmetric,
        linkml:title,
        linkml:todos,
        linkml:usage_slot_name,
        linkml:values_from .



