# Class: HasLifeCycle URI: [omoschema:HasLifeCycle](https://w3id.org/oak/ontology-metadata/HasLifeCycle) ```{mermaid} classDiagram class HasLifeCycle AnnotationPropertyMixin <|-- HasLifeCycle HasLifeCycle <|-- Term HasLifeCycle : consider HasLifeCycle --> Any : consider HasLifeCycle : deprecated HasLifeCycle : excluded_from_QC_check HasLifeCycle --> Thing : excluded_from_QC_check HasLifeCycle : excluded_subClassOf HasLifeCycle --> Class : excluded_subClassOf HasLifeCycle : excluded_synonym HasLifeCycle : has_alternative_id HasLifeCycle : has_obsolescence_reason HasLifeCycle : should_conform_to HasLifeCycle --> Thing : should_conform_to HasLifeCycle : term_replaced_by HasLifeCycle --> Any : term_replaced_by ``` ## Inheritance * [AnnotationPropertyMixin](AnnotationPropertyMixin.md) * **HasLifeCycle** ## Slots | Name | Cardinality and Range | Description | Inheritance | | --- | --- | --- | --- | | [deprecated](deprecated.md) | 0..1
[Boolean](Boolean.md) | | direct | | [has_obsolescence_reason](has_obsolescence_reason.md) | 0..1
[String](String.md) | | direct | | [term_replaced_by](term_replaced_by.md) | 0..1
[Any](Any.md) | | direct | | [consider](consider.md) | 0..*
[Any](Any.md) | | direct | | [has_alternative_id](has_alternative_id.md) | 0..*
[Uriorcurie](Uriorcurie.md) | Relates a live term to a deprecated ID that was merged in | direct | | [excluded_from_QC_check](excluded_from_QC_check.md) | 0..1
[Thing](Thing.md) | | direct | | [excluded_subClassOf](excluded_subClassOf.md) | 0..*
[Class](Class.md) | | direct | | [excluded_synonym](excluded_synonym.md) | 0..*
[String](String.md) | | direct | | [should_conform_to](should_conform_to.md) | 0..1
[Thing](Thing.md) | | direct | ## Mixin Usage | mixed into | description | | --- | --- | | [Term](Term.md) | A NamedThing that includes classes, properties, but not ontologies | ## Identifier and Mapping Information ### Schema Source * from schema: https://w3id.org/oak/ontology-metadata ## Mappings | Mapping Type | Mapped Value | | --- | --- | | self | omoschema:HasLifeCycle | | native | omoschema:HasLifeCycle | ## LinkML Source ### Direct
```yaml name: HasLifeCycle from_schema: https://w3id.org/oak/ontology-metadata is_a: AnnotationPropertyMixin mixin: true slots: - deprecated - has_obsolescence_reason - term_replaced_by - consider - has_alternative_id - excluded_from_QC_check - excluded_subClassOf - excluded_synonym - should_conform_to rules: - preconditions: slot_conditions: deprecated: name: deprecated equals_expression: 'true' postconditions: any_of: - slot_conditions: term_replaced_by: name: term_replaced_by required: true - slot_conditions: consider: name: consider required: true description: if a term is deprecated it should have either consider or replaced by - preconditions: none_of: - slot_conditions: deprecated: name: deprecated equals_expression: 'true' postconditions: none_of: - slot_conditions: term_replaced_by: name: term_replaced_by required: true - slot_conditions: consider: name: consider required: true description: if a term is not deprecated it should have neither consider nor replaced by - preconditions: slot_conditions: deprecated: name: deprecated equals_expression: 'true' postconditions: slot_conditions: label: name: label pattern: '^obsolete ' description: if a term is deprecated its label should start with the string obsolete ```
### Induced
```yaml name: HasLifeCycle from_schema: https://w3id.org/oak/ontology-metadata is_a: AnnotationPropertyMixin mixin: true attributes: deprecated: name: deprecated in_subset: - allotrope permitted profile - go permitted profile - obi permitted profile from_schema: https://w3id.org/oak/ontology-metadata aliases: - is obsolete rank: 1000 is_a: obsoletion_related_property domain: ObsoleteAspect slot_uri: owl:deprecated alias: deprecated owner: HasLifeCycle domain_of: - HasLifeCycle range: boolean has_obsolescence_reason: name: has_obsolescence_reason todos: - restrict range comments: - '{''RULE'': ''subject must be deprecated''}' from_schema: https://w3id.org/oak/ontology-metadata rank: 1000 is_a: obsoletion_related_property domain: ObsoleteAspect slot_uri: IAO:0000231 alias: has_obsolescence_reason owner: HasLifeCycle domain_of: - HasLifeCycle range: string term_replaced_by: name: term_replaced_by comments: - '{''RULE'': ''subject must be deprecated''}' in_subset: - go permitted profile - obi permitted profile - allotrope permitted profile from_schema: https://w3id.org/oak/ontology-metadata exact_mappings: - dcterms:isReplacedBy rank: 1000 is_a: obsoletion_related_property domain: ObsoleteAspect slot_uri: IAO:0100001 alias: term_replaced_by owner: HasLifeCycle domain_of: - HasLifeCycle range: Any consider: name: consider comments: - '{''RULE'': ''subject must be deprecated''}' in_subset: - go permitted profile from_schema: https://w3id.org/oak/ontology-metadata rank: 1000 is_a: obsoletion_related_property domain: ObsoleteAspect slot_uri: oio:consider multivalued: true alias: consider owner: HasLifeCycle domain_of: - HasLifeCycle range: Any has_alternative_id: name: has_alternative_id description: Relates a live term to a deprecated ID that was merged in deprecated: This is deprecated as it is redundant with the inverse replaced_by triple comments: - '{''RULE'': ''object must NOT be deprecated''}' in_subset: - go permitted profile from_schema: https://w3id.org/oak/ontology-metadata see_also: - https://github.com/owlcs/owlapi/issues/317 rank: 1000 is_a: obsoletion_related_property domain: NotObsoleteAspect slot_uri: oio:hasAlternativeId multivalued: true alias: has_alternative_id owner: HasLifeCycle domain_of: - HasLifeCycle range: uriorcurie excluded_from_QC_check: name: excluded_from_QC_check from_schema: https://w3id.org/oak/ontology-metadata rank: 1000 is_a: excluded_axiom alias: excluded_from_QC_check owner: HasLifeCycle domain_of: - HasLifeCycle range: Thing excluded_subClassOf: name: excluded_subClassOf from_schema: https://w3id.org/oak/ontology-metadata rank: 1000 is_a: excluded_axiom multivalued: true alias: excluded_subClassOf owner: HasLifeCycle domain_of: - HasLifeCycle range: Class excluded_synonym: name: excluded_synonym from_schema: https://w3id.org/oak/ontology-metadata exact_mappings: - skos:hiddenSynonym rank: 1000 is_a: excluded_axiom multivalued: true alias: excluded_synonym owner: HasLifeCycle domain_of: - HasLifeCycle range: string should_conform_to: name: should_conform_to from_schema: https://w3id.org/oak/ontology-metadata rank: 1000 is_a: excluded_axiom alias: should_conform_to owner: HasLifeCycle domain_of: - HasLifeCycle range: Thing rules: - preconditions: slot_conditions: deprecated: name: deprecated equals_expression: 'true' postconditions: any_of: - slot_conditions: term_replaced_by: name: term_replaced_by required: true - slot_conditions: consider: name: consider required: true description: if a term is deprecated it should have either consider or replaced by - preconditions: none_of: - slot_conditions: deprecated: name: deprecated equals_expression: 'true' postconditions: none_of: - slot_conditions: term_replaced_by: name: term_replaced_by required: true - slot_conditions: consider: name: consider required: true description: if a term is not deprecated it should have neither consider nor replaced by - preconditions: slot_conditions: deprecated: name: deprecated equals_expression: 'true' postconditions: slot_conditions: label: name: label pattern: '^obsolete ' description: if a term is deprecated its label should start with the string obsolete ```