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
    • 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.
      • 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
        • NodeCreation - a node change in which a new node is created
        • 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
        • 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
  • 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
  • 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)
    • 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)
  • Unobsoletion - Opposite operation of obsoletion. Rarely performed.

Slots

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