In this paper we describe a data model called GROOVY (Graphically-Represented Object-Oriented data model with Values) whose graphical representation provides a simple unifying formalism for the main concepts of object-oriented data modelling. In GROOVY, real-world entities are represented by means of objects over object schemas. Object schemas include integrity constraints which are an extension of the functional dependencies of relational database theory, allowing both single-valued and multi-valued functions. Object schemas have a multi-level structure and allow for the encapsulation of information. We show that the representation of object schemas by means of hypergraphs leads to a natural formalisation of the notions of sub-object sharing and structural inheritance while also providing a simple interface suitable for user interaction. We also show how objects over object schemas can be represented by hypergraphs labelled with object identifiers. By considering equivalence classes of isomorphic hypergraphs, a value-oriented sub-model of GROOVY is obtained. Finally, we present the necessary primitives for a procedural hypergraph query and update language.
GROOVY was the forerunner of the Hypernode Model.