
16.3. ADVANCED CONCEPTS 527
16.3.2 Hypergraphs
Hyperedges are a generalization of edges in the sense that they do not only relate two
endpoints to each other but rather express a relation between an arbitrary number of
endpoints. Hyperedges are declared by a <hyperedge> element in GraphML. For each
endpoint of the hyperedge, this <hyperedge> element contains an <endpoint> element.
The <endpoint> element must have an XML-attribute node, which contains the id of a
<node> in the document. The example in Figure 16.7 contains two hyperedges and two
edges. The hyperedges are illustrated by joining arcs, the edges by straight lines.
<?xml version="1.0" encoding="UTF-8"?> ...