The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

GOBO::ClassNode

SYNOPSIS

  printf '%s "%s"', $n->id, $n->label;

DESCRIPTION

Formally, a class is a collection of instances. However, in many cases these are not instantiated in perl.

ClassNodes can either be explicitly named (GOBO::TermNode) or they can be logical boolean expressions (GOBO::ClassExpression)

          +--- InstanceNode
          |                 +--- ClassExpression
          |                 |
  Node ---+--- ClassNode ---+
          |                 |
          |                 +--- TermNode
          +--- RelationNode

Terminological note

Note the parallel terminology: ontology formalisms consist of classes (types) and instances (particulars). These should NOT be confused with their object-oriented counterparts. An instance of the GO type "nucleus" is an actual cell nucleus. These are almost never "instantiated" in the object-oriented sense, but in reality there are trillions of these instances. ClassNodes can be thought of as sets, and InstanceNodes for their extension.

Here we use the term "ClassNode" and "InstanceNode" to denote elements of the perl object model.

SEE ALSO

GOBO::Graph