Places a node inside a subset, by annotating that node
The representation of a node (URI, CURIE, label)
The type (IRI or Literal) of an old value
The value of a property held in the new instance of the ontology
The value of a property held in the old instance of the ontology
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
subset that the element is being placed inside.
A string serialization of the change. This should be both human-readable, and parseable.
The 'focus' entity on which the change operates
The type (IRI or Literal) of a new value
Applies to an obsoletion in which annotations or edges pointing at the obsoleted node can be automatically rewired to point to a target
The element that is obsoleted by this change.
A broad grouping for all elements of the change language
A summary statistic for a set of changes of the same type, grouped by zero or more node properties
A node creation where the owl type is 'owl:Class'
A change that is is a composition of other changes
The meaning of operations can be configured
A prefix to add to the label of an obsolete node. This may include a space at the end.
specifies the annotation property to be used to create a shadow annotation assertion triple when a subclass edge is deleted.
A change in a value assertion where the value remain unchanged but either the datatype or language changes
A change in which the element that is the focus of the change is an edge.
An edge change in which a de-novo edge is created. The edge is potentially annotated in the same action.
The type (IRI or Literal) of an edge's subject
An edge change in which an edge is removed. All edge annotations/properies are removed in the same action.
An edge change where the subject, object, and predicate are unchanged, but the logical interpretation changes
An edge change in which an edge is obsoleted.
An edge change where one node is replaced with another, as in the case of obsoletion with replacement
A simple change where a logical axiom is changed, where the logical axiom cannot be represented as an edge
A specific kind of edge creation in which the created edge is a mapping.
This corresponds to predicate_id in SSSOM. The value of this is typically a predicate from SKOS
A node mapping change where the predicate of a mapping is changed.
A node mapping change where the object of a mapping is changed
A node metadata assertion change where the predicate of a metadata assertion is changed.
A node metadata assertion change where the object of a metadata assertion is changed
A complex change consisting of multiple obsoletions.
All changes associated with a set of obsoletions. This change set is the composed change set rather than the set of individual changes. For example, if previous state is:\n `A subClassOf B subClassOf C subClassOf D` and we obsolete {B,C}, then the individual changes are `A moves from B to C` and `B moves from C to D`, but the composed change set is `A moves from B to D`"
A node synonym where the name NAME of an node NODE moves to a synonym, and NODE receives a new name. This change consists of compose of (1) a node rename where NAME is replaced by a different name (2) a new synonym
A node mapping change where a mapping is added to a node
A node metadata assertion change where a metadata assertion is added to a node
A node synonym change where a de-novo synonym is created
A node change where a de-novo text definition is created
A node change where the change alters node properties/annotations. TODO
The type of a property (URI, CURIE, label)
A node annotation change where the change replaces a particular property value. TODO
A simple change where the change is about a node
a node change in which a new node is created
A node move in which a node where the destination is a proper descendant of the original location. Note that here descendant applied not just to subclass, but edges of any predicate in the relational graph
The type (IRI or Literal) of a new object
The type (IRI or Literal) of an old object
Deletion of a node from the graph. Note it is recommended nodes are obsoleted and never merged, but this operation exists to represent deletions in ontologies, accidental or otherwise
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
An obsoletion replacement where it IS valid to automatically update annotations/edges pointing at the node with its direct replacement
An obsoletion replacement where it is NOT valid to automatically update annotations/edges pointing at the node with its direct replacement
A node change where the mappings for that node are altered
A node change where the metadata assertion (OWL annotations) for that node are altered
A node move is a combination of deleting a parent edge and adding a parent edge, where the predicate is preserved and the object/parent node changes
An obsoletion change in which information from the obsoleted node is selectively copied to a single target, and edges can automatically be rewired to point to the target node
An obsoletion change in which there is no direct replacement
A node change where the name (aka rdfs:label) of the node changes
A representation of character-level changes on a textual literal property. For example, if a text definition may change by only a single character such as addition of a period, it is useful to be able to see this visually.
A node change where the text definition is changed
unobsoletion of a node deprecates usage of that node. Rarely applied.
A node creation where the owl type is 'ObjectProperty'
An edge creation where the predicate is owl:subClassOf
An edge change where the predicate (relationship type) is modified.
subset that the element is being removed from
A node mapping change where a mapping is deleted
A node metadata assertion change where a metadata assertion is deleted
Removes a node from a subset, by removing an annotation
The node that is removed from the subset
The subset from which the node is to be removed
A node synonym change where a synonym is deleted
A node change where a text definition is deleted
An edge deletion where the predicate is owl:subClassOf
A session consists of a set of change sets bundled with the activities that generated those change sets
A node change where the string value for the name is unchanged but the language tag is set
A change that is about a single ontology element
A change in the membership status of a node with respect to a subset (view)
A node synonym change where the predicate of a synonym is changed. Background: synonyms can be represented by a variety of predicates. For example, many OBO ontologies make use of predicates such as oio:hasExactSynonym, oio:hasRelatedSynonym, etc
The secondary entity on which the change operates
A node synonym change where the text of a synonym is changed
A node change where a text definition is modified
A change that is a composition of a set of changes, where those changes are treated as a single unit. Could be a single change, or the results of an ontology diff
Opposite operation of obsoletion. Rarely performed.
Obsoletion of a node deprecates usage of that node, but does not delete it.
A summarizing of a change on a piece of text. This could be rendered in a number of different ways
Obsoletion of an element deprecates usage of that element, but does not delete that element.
A relationship between two nodes. Currently the only kinds of edges supported in KGCL: * A subClassOf B <==> Edge(subject=A, predicate=owl:subClassOf, object=B) * A subClassOf P some B <==> Edge(subject=A, predicate=P, object=B) * P subPropertyOf Q <==> Edge(subject=P, predicate=owl:subPropertyOf, object=Q) These represent the most common kind of pairwise relationship between classes, and classes are the dominant node type in ontologies. In future a wider variety of OWL axiom types will be supportedn through the use of an additional edge property/slot to indicate the interpretation of the axiom, following owlstar (https://github.com/cmungall/owlstar). For example: * `A subClassOf R only B <==> Edge(subject=A, predicate=P, object=B, interpretation=AllOnly)` * `A Annotation(P,B) <==> Edge(subject=A, predicate=P, object=B, interpretation=annotationAssertion)` Note that not all axioms are intended to map to edges. Axioms/triples where the object is a literal would be represented as node properties. Complex OWL axioms involving nesting would have their own dedicated construct, or may be represented generically. These are out of scope for the current version of KGCL
owl annotations. Not to be confused with annotations sensu GO
Any component of an ontology or knowledge graph
Any named entity in an ontology. May be a class, individual, property
Any change perform on an ontology or knowledge graph