A computer program product has program code adapted to provide, upon
execution, a database of objects and a database engine for managing the
objects. Each object comprises metadata for describing the object and for
defining a hierarchical structure of branches which constitutes the
object and which includes relations to other objects. An individual
branch has a metadata type, which is selected from a predetermined and
limited set of n different metadata types and which represents one
respective hierarchical level in the hierarchical structure, and a
metadata value. An individual branch may also have an arbitrary number of
other branches, of any hierarchical level strictly subordinate to the
hierarchical level of the individual branch, connected to the individual
branch as children thereof. The arbitrary number may include zero
branches.