kgcl schema
A data model for describing change operations at a high level on an ontology or ontology-like artefact, such as a Knowledge Graph.
Classes
- Activity - a provence-generating activity
- Agent - a provence-generating agent
- Change - Any change perform on an ontology or knowledge graph
- ComplexChange - A change that is is a composition of other changes
- MultiNodeObsoletion - A complex change consisting of multiple obsoletions.
- SimpleChange - A change that is about a single ontology element
- DatatypeChange
- EdgeChange - A change in which the element that is the focus of the change is an edge.
- EdgeCreation - An edge change in which a de-novo edge is created. The edge is potentially annotated in the same action.
- MappingCreation - A specific kind of edge creation in which the created edge is a mapping.
- PlaceUnder - An edge creation where the predicate is owl:subClassOf
- EdgeDeletion - An edge change in which an edge is removed. All edge annotations/properies are removed in the same action.
- EdgeLogicalInterpretationChange - An edge change where the subjet, object, and predicate are unchanged, but the logical interpretation changes
- EdgeObsoletion - An edge change in which an edge is obsoleted.
- EdgeRewiring - An edge change where one node is replaced with another, as in the case of obsoletion with replacement
- NodeMove - 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
- NodeDeepening - 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
- NodeShallowing - The opposite of node deepening
- PredicateChange - An edge change where the predicate (relationship type) is modified.
- EdgeCreation - An edge change in which a de-novo edge is created. The edge is potentially annotated in the same action.
- LogicalAxiomChange - A simple change where a logical axiom is changed, where the logical axiom cannot be represented as an edge
- NodeChange - A simple change where the change is about a node
- AddNodeToSubset - Places a node inside a subset, by annotating that node
- NodeAnnotationChange - A node change where the change alters node properties/annotations. TODO
- NodeAnnotationReplacement - A node annotation change where the change replaces a particular property value. TODO
- NodeCreation - a node change in which a new node is created
- ClassCreation - A node creation where the owl type is 'class'
- NodeDeletion - 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
- NodeObsoletion - Obsoletion of a node deprecates usage of that node, but does not delete it.
- 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
- NodeObsoletionWithDirectReplacement - 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
- NodeObsoletionWithNoDirectReplacement - An obsoletion change in which there is no direct replacement
- NodeRename - A node change where the name (aka rdfs:label) of the node changes
- NodeSynonymChange
- NameBecomesSynonym - 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
- NewSynonym - A node synonym change where a de-novo synonym is created
- RemoveSynonym - A node synonym change where a synonym is deleted
- SynonymPredicateChange - 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
- SynonymReplacement - A node synonym change where the text of a synonym is changed
- NodeTextDefinitionChange - A node change where the text definition is changed
- NewTextDefinition - A node change where a de-novo text definition is created
- RemoveTextDefinition - A node change where a text definition is deleted
- TextDefinitionReplacement - A node change where a text definition is modified
- NodeUnobsoletion - unobsoletion of a node deprecates usage of that node. Rarely applied.
- RemovedNodeFromSubset - Removes a node from a subset, by removing an annotation
- Transaction - 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
- ComplexChange - A change that is is a composition of other changes
- ChangeSetSummaryStatistic - A summary statistic for a set of changes of the same type, grouped by zero or more node properties
- Configuration - The meaning of operations can be configured
- OntologyElement - Any component of an ontology or knowledge graph
- Edge - A relationship between two nodes. We assume owlstar or similar for existential restrictions
- LogicalDefinition
- Node - Any named entity in an ontology. May be a class, individual, property
- ClassNode - A node that is a class
- InstanceNode - A node that is an individual
- OntologySubset
- PropertyValue - a property-value pair
- Annotation - owl annotations. Not to be confused with annotations sensu GO
- Session - A session consists of a set of change sets bundled with the activities that generated those change sets
- TextualDiff - A summarizing of a change on a piece of text. This could be rendered in a number of different ways
Mixins
- AddToSubset - placing an element inside a subset
- AllowsAutomaticReplacementOfEdges - Applies to an obsoletion in which annotations or edges pointing at the obsoleted node can be automatically rewired to point to a target
- ChangeMixin - root class for all change mixins
- Creation - Creation of an element.
- Deletion - Removal of an element.
- Obsoletion - Obsoletion of an element deprecates usage of that element, but does not delete that element.
- AllowsAutomaticReplacementOfEdges - Applies to an obsoletion in which annotations or edges pointing at the obsoleted node can be automatically rewired to point to a target
- SubsetMembershipChange - A change in the membership status of a node with respect to a subset (view)
- AddToSubset - placing an element inside a subset
- RemoveFromSubset - removing an element from a subset
- Unobsoletion - Opposite operation of obsoletion. Rarely performed.
- Creation - Creation of an element.
- Deletion - Removal of an element.
- Obsoletion - Obsoletion of an element deprecates usage of that element, but does not delete that element.
- AllowsAutomaticReplacementOfEdges - Applies to an obsoletion in which annotations or edges pointing at the obsoleted node can be automatically rewired to point to a target
- RemoveFromSubset - removing an element from a subset
- SubsetMembershipChange - A change in the membership status of a node with respect to a subset (view)
- AddToSubset - placing an element inside a subset
- RemoveFromSubset - removing an element from a subset
- Unobsoletion - Opposite operation of obsoletion. Rarely performed.
Slots
- about - The 'focus' entity on which the change operates
- about edge
- about node
- node direct merge➞about node
- removed node from subset➞about node - The node that is removed from the subset
- obsoletion➞about - The element that is obsoleted by this change.
- acted on behalf of
- activity set
- agent set
- annotation set
- change 1
- change 2
- change date
- change description - A string serialization of the change. This should be both human-readable, and parseable.
- edge creation➞change description
- edge deletion➞change description
- edge obsoletion➞change description
- multi node obsoletion➞change description
- name becomes synonym➞change description
- node creation➞change description
- node deletion➞change description
- node move➞change description
- node obsoletion➞change description
- node rename➞change description
- node unobsoletion➞change description
- predicate change➞change description
- removed node from subset➞change description
- change set - A collection of changes
- associated change set - 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:
- multi node obsoletion➞associated change set - 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:
- multi node obsoletion➞change set
- node obsoletion➞associated change set - 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
- change type
- ➞contributor predicate
- ➞creator predicate
- ➞definition predicate
- ➞main synonym predicate
- ➞name predicate
- ➞obsoletion policy
- ➞obsoletion workflow
- ➞synonym predicates
- consider
- contributor
- count
- creator
- description
- ended at time
- filler
- has direct replacement - An obsoletion replacement where it IS valid to automatically update annotations/edges pointing at the node with its direct replacement
- has nondirect replacement - An obsoletion replacement where it is NOT valid to automatically update annotations/edges pointing at the node with its direct replacement
- has textual diff - 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.
- has undo - A change that reverses this change
- id
- in subset - The subset that pertains to this change
- add to subset➞in subset - subset that the element is being placed inside.
- remove from subset➞in subset - subset that the element is being removed from
- name
- new value - The value of a property held in the new instance of the ontology
- node id - id of a node to be created
- object
- mapping creation➞object - This corresponds to object_id in SSSOM
- old value - The value of a property held in the old instance of the ontology
- owl type
- predicate
- mapping creation➞predicate - This corresponds to predicate_id in SSSOM. The value of this is typically a predicate from SKOS
- property
- property value set
- change set summary statistic➞property value set - Summary statistic is grouped by these constraints
- pull request
- replaced by
- see also
- started at time
- subject
- edge change➞subject
- mapping creation➞subject - This corresponds to subject_id in SSSOM
- subset - The subset from which the node is to be removed
- superclass
- target - The secondary entity on which the change operates
- has replacement - A single node obsoletion event may be accompanied by one or more suggested replacement nodes
- used
- was associated with
- was generated by
- was informed by
Enums
Subsets
Types
Built in
- Bool
- Decimal
- ElementIdentifier
- NCName
- NodeIdentifier
- URI
- URIorCURIE
- XSDDate
- XSDDateTime
- XSDTime
- float
- int
- str
Defined
- Boolean (Bool) - A binary (true or false) value
- ChangeClassType (Uriorcurie) - CURIE for a class within this datamodel. E.g. kgcl:NodeObsoletion
- Date (XSDDate) - a date (year, month and day) in an idealized calendar
- Datetime (XSDDateTime) - The combination of a date and time
- Decimal (Decimal) - A real number with arbitrary precision that conforms to the xsd:decimal specification
- Double (float) - A real number that conforms to the xsd:double specification
- Float (float) - A real number that conforms to the xsd:float specification
- Integer (int) - An integer
- Ncname (NCName) - Prefix part of CURIE
- Nodeidentifier (NodeIdentifier) - A URI, CURIE or BNODE that represents a node in a model.
- Objectidentifier (ElementIdentifier) - A URI or CURIE that represents an object in the model.
- String (str) - A character string
- Time (XSDTime) - A time object represents a (local) time of day, independent of any particular day
- Uri (URI) - a complete URI
- Uriorcurie (URIorCURIE) - a URI or a CURIE