Class: NodeDirectMerge
An obsoletion change in which all metadata (including name/label) from the source node is deleted and added to the target node, and edges can automatically be rewired to point to the target node
URI: kgcl:NodeDirectMerge
 classDiagram
    class NodeDirectMerge
    click NodeDirectMerge href "../NodeDirectMerge"
      AllowsAutomaticReplacementOfEdges <|-- NodeDirectMerge
        click AllowsAutomaticReplacementOfEdges href "../AllowsAutomaticReplacementOfEdges"
      NodeObsoletion <|-- NodeDirectMerge
        click NodeObsoletion href "../NodeObsoletion"
      NodeDirectMerge : about
    NodeDirectMerge --> "0..1" OntologyElement : about
    click OntologyElement href "../OntologyElement"
      NodeDirectMerge : about_node
    NodeDirectMerge --> "0..1" Node : about_node
    click Node href "../Node"
      NodeDirectMerge : about_node_representation
      NodeDirectMerge : associated_change_set
    NodeDirectMerge --> "*" Change : associated_change_set
    click Change href "../Change"
      NodeDirectMerge : change_date
      NodeDirectMerge : change_description
      NodeDirectMerge : contributor
      NodeDirectMerge : creator
      NodeDirectMerge : has_direct_replacement
    NodeDirectMerge --> "1" Node : has_direct_replacement
    click Node href "../Node"
      NodeDirectMerge : has_nondirect_replacement
    NodeDirectMerge --> "*" Node : has_nondirect_replacement
    click Node href "../Node"
      NodeDirectMerge : has_undo
    NodeDirectMerge --> "0..1" Obsoletion : has_undo
    click Obsoletion href "../Obsoletion"
      NodeDirectMerge : id
      NodeDirectMerge : language
      NodeDirectMerge : new_datatype
      NodeDirectMerge : new_language
      NodeDirectMerge : new_value
      NodeDirectMerge : new_value_type
      NodeDirectMerge : old_datatype
      NodeDirectMerge : old_language
      NodeDirectMerge : old_value
      NodeDirectMerge : old_value_type
      NodeDirectMerge : pull_request
      NodeDirectMerge : see_also
      NodeDirectMerge : term_tracker_issue
      NodeDirectMerge : type
      NodeDirectMerge : was_generated_by
    NodeDirectMerge --> "0..1" Activity : was_generated_by
    click Activity href "../Activity"
Inheritance
- ChangeLanguageElement- Change- SimpleChange- NodeChange- NodeObsoletion [ Obsoletion]- NodeDirectMerge [ AllowsAutomaticReplacementOfEdges]
 
 
- NodeObsoletion [ Obsoletion]
 
- NodeChange
 
- SimpleChange
 
- Change
Slots
| Name | Cardinality and Range | Description | Inheritance | 
|---|---|---|---|
| has_direct_replacement | 1 Node | An obsoletion replacement where it IS valid to automatically update annotatio... | NodeObsoletion | 
| has_nondirect_replacement | * Node | An obsoletion replacement where it is NOT valid to automatically update annot... | NodeObsoletion | 
| about_node | 0..1 Node | NodeChange | |
| about_node_representation | 0..1 String | The representation of a node (URI, CURIE, label) | NodeChange | 
| language | 0..1 LanguageTag | The language tag of a literal | NodeChange | 
| old_value | 0..1 String | The value of a property held in the old instance of the ontology | ChangeMixin, SimpleChange | 
| new_value | 0..1 String | The value of a property held in the new instance of the ontology | ChangeMixin, SimpleChange | 
| old_value_type | 0..1 String | The type (IRI or Literal) of an old value | SimpleChange | 
| new_value_type | 0..1 String | The type (IRI or Literal) of a new value | SimpleChange | 
| new_language | 0..1 String | The new language tag of a literal | SimpleChange | 
| old_language | 0..1 String | The old language tag of a literal | SimpleChange | 
| new_datatype | 0..1 String | The new datatype of a literal | SimpleChange | 
| old_datatype | 0..1 String | The old datatype of a literal | SimpleChange | 
| id | 1 String | Change | |
| type | 0..1 String | Change | |
| was_generated_by | 0..1 Activity | Change | |
| see_also | 0..1 String | Change | |
| pull_request | 0..1 String | Change | |
| term_tracker_issue | 0..1 String | Change | |
| creator | 0..1 String | Change | |
| change_date | 0..1 String | Change | |
| contributor | 0..1 String | Change | |
| has_undo | 0..1 Obsoletion | A change that reverses this change | ChangeMixin, Change | 
| change_description | 0..1 String | A string serialization of the change | Change | 
| associated_change_set | * Change | All changes forced as a result of this obsoletion | Change | 
| about | 0..1 OntologyElement | The element that is obsoleted by this change | ChangeMixin | 
Comments
- In the OBO format serialization of the graph, the source node vanishes from the file as a distinct entry and is retained only as an alt_id
See Also
- http://wiki.geneontology.org/index.php/Merging_Ontology_Terms
- http://wiki.geneontology.org/index.php/Principles_for_merging_terms
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/kgcl
Mappings
| Mapping Type | Mapped Value | 
|---|---|
| self | kgcl:NodeDirectMerge | 
| native | kgcl:NodeDirectMerge | 
LinkML Source
Direct
name: NodeDirectMerge
description: An obsoletion change in which all metadata (including name/label) from
  the source node is deleted and added to the target node, and edges can automatically
  be rewired to point to the target node
comments:
- In the OBO format serialization of the graph, the source node vanishes from the
  file as a distinct entry and is retained only as an alt_id
from_schema: https://w3id.org/kgcl
see_also:
- http://wiki.geneontology.org/index.php/Merging_Ontology_Terms
- http://wiki.geneontology.org/index.php/Principles_for_merging_terms
is_a: NodeObsoletion
mixins:
- AllowsAutomaticReplacementOfEdges
slot_usage:
  has_direct_replacement:
    name: has_direct_replacement
    required: true
  about_node:
    name: about_node
    aliases:
    - alt_id
  change_description:
    name: change_description
    string_serialization: merge {about_node} into {has_direct_replacement}
Induced
name: NodeDirectMerge
description: An obsoletion change in which all metadata (including name/label) from
  the source node is deleted and added to the target node, and edges can automatically
  be rewired to point to the target node
comments:
- In the OBO format serialization of the graph, the source node vanishes from the
  file as a distinct entry and is retained only as an alt_id
from_schema: https://w3id.org/kgcl
see_also:
- http://wiki.geneontology.org/index.php/Merging_Ontology_Terms
- http://wiki.geneontology.org/index.php/Principles_for_merging_terms
is_a: NodeObsoletion
mixins:
- AllowsAutomaticReplacementOfEdges
slot_usage:
  has_direct_replacement:
    name: has_direct_replacement
    required: true
  about_node:
    name: about_node
    aliases:
    - alt_id
  change_description:
    name: change_description
    string_serialization: merge {about_node} into {has_direct_replacement}
attributes:
  has_direct_replacement:
    name: has_direct_replacement
    description: An obsoletion replacement where it IS valid to automatically update
      annotations/edges pointing at the node with its direct replacement
    comments:
    - if a node obsoletion C, C about N1, and C has direct replacement N2, and there
      exists an edge with an edge property referencing N1, it is possible to replace
      with N2
    - if a node obsoletion C C about N1, and Chas direct replacement N2, then N1 IAO:0100001
      N2
    from_schema: https://w3id.org/kgcl
    close_mappings:
    - IAO:0100001
    rank: 1000
    alias: has_direct_replacement
    owner: NodeDirectMerge
    domain_of:
    - NodeObsoletion
    - NodeUnobsoletion
    range: Node
    required: true
    multivalued: false
  has_nondirect_replacement:
    name: has_nondirect_replacement
    description: An obsoletion replacement where it is NOT valid to automatically
      update annotations/edges pointing at the node with its direct replacement
    comments:
    - if a node obsoletion C, C about N1, and C has direct replacement N2, and there
      exists an edge with an edge property referencing N1, it is possible to replace
      with N2
    - if a node obsoletion C C about N1, and Chas direct replacement N2, then N1 oio:consider
      N2
    from_schema: https://w3id.org/kgcl
    close_mappings:
    - oio:consider
    rank: 1000
    alias: has_nondirect_replacement
    owner: NodeDirectMerge
    domain_of:
    - NodeObsoletion
    - NodeUnobsoletion
    range: Node
    multivalued: true
  about_node:
    name: about_node
    from_schema: https://w3id.org/kgcl
    aliases:
    - alt_id
    rank: 1000
    is_a: about
    alias: about_node
    owner: NodeDirectMerge
    domain_of:
    - NodeChange
    range: Node
    multivalued: false
  about_node_representation:
    name: about_node_representation
    description: 'The representation of a node (URI, CURIE, label) '
    deprecated: no longer required
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: about_node_representation
    owner: NodeDirectMerge
    domain_of:
    - NodeChange
    range: string
  language:
    name: language
    description: The language tag of a literal
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: language
    owner: NodeDirectMerge
    domain_of:
    - EdgeChange
    - NodeChange
    - NewSynonym
    - NodeCreation
    range: LanguageTag
  old_value:
    name: old_value
    description: The value of a property held in the old instance of the ontology
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: old_value
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    - ChangeMixin
    - NodeRename
    - SetLanguageForName
    - RemoveSynonym
    - SynonymReplacement
    - SynonymPredicateChange
    - MappingReplacement
    - MappingPredicateChange
    - MetadataAssertionReplacement
    - MetadataAssertionPredicateChange
    - RemoveTextDefinition
    - TextDefinitionReplacement
    range: string
  new_value:
    name: new_value
    description: The value of a property held in the new instance of the ontology
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: new_value
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    - ChangeMixin
    - NodeRename
    - SetLanguageForName
    - NewSynonym
    - SynonymReplacement
    - SynonymPredicateChange
    - MappingReplacement
    - MappingPredicateChange
    - MetadataAssertionReplacement
    - MetadataAssertionPredicateChange
    - NewTextDefinition
    - TextDefinitionReplacement
    range: string
  old_value_type:
    name: old_value_type
    description: The type (IRI or Literal) of an old value
    deprecated: no longer required
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: old_value_type
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    range: string
  new_value_type:
    name: new_value_type
    description: The type (IRI or Literal) of a new value
    deprecated: no longer required
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: new_value_type
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    range: string
  new_language:
    name: new_language
    description: The new language tag of a literal
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: new_language
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    - NodeRename
    range: string
  old_language:
    name: old_language
    description: The old language tag of a literal
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: old_language
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    - NodeRename
    range: string
  new_datatype:
    name: new_datatype
    description: The new datatype of a literal
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: new_datatype
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    range: string
  old_datatype:
    name: old_datatype
    description: The old datatype of a literal
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: old_datatype
    owner: NodeDirectMerge
    domain_of:
    - SimpleChange
    range: string
  id:
    name: id
    from_schema: https://w3id.org/kgcl
    rank: 1000
    identifier: true
    alias: id
    owner: NodeDirectMerge
    domain_of:
    - Change
    - Node
    - Activity
    - Agent
    range: string
    required: true
  type:
    name: type
    from_schema: https://w3id.org/kgcl
    rank: 1000
    slot_uri: rdf:type
    designates_type: true
    alias: type
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  was_generated_by:
    name: was_generated_by
    comments:
    - we use the PROV model to represent the agent making a change
    from_schema: https://w3id.org/kgcl
    rank: 1000
    slot_uri: prov:wasGeneratedBy
    alias: was_generated_by
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: Activity
  see_also:
    name: see_also
    comments:
    - If this change is in relationship to an issue on a system like github, include
      the URL here
    from_schema: https://w3id.org/kgcl
    rank: 1000
    slot_uri: rdfs:seeAlso
    alias: see_also
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  pull_request:
    name: pull_request
    comments:
    - If this change has a pull request on a system like github, include the URL here
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: pull_request
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  term_tracker_issue:
    name: term_tracker_issue
    comments:
    - If this change has an issue on a system like github, include the URL here
    from_schema: https://w3id.org/kgcl
    exact_mappings:
    - IAO:0000233
    rank: 1000
    alias: term_tracker_issue
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  creator:
    name: creator
    comments:
    - This should be the composition of 'was generated by' and 'was associated with'
    from_schema: https://w3id.org/kgcl
    rank: 1000
    slot_uri: dcterms:creator
    alias: creator
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  change_date:
    name: change_date
    comments:
    - This should be the composition of 'was generated by' and 'ended at time'
    from_schema: https://w3id.org/kgcl
    rank: 1000
    slot_uri: dcterms:date
    alias: change_date
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  contributor:
    name: contributor
    from_schema: https://w3id.org/kgcl
    rank: 1000
    slot_uri: dcterms:creator
    alias: contributor
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  has_undo:
    name: has_undo
    description: A change that reverses this change
    from_schema: https://w3id.org/kgcl
    rank: 1000
    domain: Change
    alias: has_undo
    owner: NodeDirectMerge
    domain_of:
    - Change
    - ChangeMixin
    range: Obsoletion
    multivalued: false
  change_description:
    name: change_description
    description: A string serialization of the change. This should be both human-readable,
      and parseable.
    comments:
    - '{''Form 1'': ''IRIs are denoted by CURIEs, optionally followed by label in
      parenthesis''}'
    - '{''Form 2'': "IRIs are denoted by the rdfs:label in single quotes, e.g. ''nervous
      system''"}'
    examples:
    - value: rename UBERON:0002398 from 'manus' to 'hand'
    - value: move 'hand' from 'part of' 'hindlimb' to 'part of' 'forelimb'
    - value: merge 'cellular metabolic process' into 'metabolic process'
    - value: search and replace 'metabolic process' with 'metabolism' in all labels
        under 'biological process'
    - value: search and replace 'metabolic process' with 'metabolism' in all labels
        under 'biological process' retaining as 'exact synonym'
    from_schema: https://w3id.org/kgcl
    rank: 1000
    string_serialization: merge {about_node} into {has_direct_replacement}
    alias: change_description
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: string
  associated_change_set:
    name: associated_change_set
    description: 'All changes forced as a result of this obsoletion. For example,
      starting with `A subClassOf B subClassOf C`, if we obsolete node B, then we
      may decide to bundle in a node move change of A from B to C. Note: this change
      set is not considered a part of the obsoletion, as obsoletion is considered
      atomic/simple. Instead this is a reference to a change set that may exist elsewhere'
    from_schema: https://w3id.org/kgcl
    rank: 1000
    is_a: change_set
    alias: associated_change_set
    owner: NodeDirectMerge
    domain_of:
    - Change
    range: Change
    multivalued: true
    inlined: true
    inlined_as_list: true
  about:
    name: about
    description: The element that is obsoleted by this change.
    from_schema: https://w3id.org/kgcl
    rank: 1000
    alias: about
    owner: NodeDirectMerge
    domain_of:
    - ChangeMixin
    range: OntologyElement
    multivalued: false