The "datamodel" package provides the interfaces to describe real world data as an hyper-graph.

Actually, the idea of an hyper-graph is here very shallow. It mostly means that you'll have to describe your data using a {@link bzh.plealog.hge.api.datamodel.DataGraphModel} that is made of {@link bzh.plealog.hge.api.datamodel.DGMVertexType} and {@link bzh.plealog.hge.api.datamodel.DGMHyperEdgeType}, each of them containing some {@link bzh.plealog.hge.api.datamodel.DGMAttribute}.

{@link bzh.plealog.hge.api.datamodel.DGMVertexType} and {@link bzh.plealog.hge.api.datamodel.DGMHyperEdgeType} can be organized using hierarchies (types and sub-types). This hierarchical data model only support single inheritance.