org.hypergraphdb.atom
Class HGBergeLink

java.lang.Object
  extended by org.hypergraphdb.HGPlainLink
      extended by org.hypergraphdb.atom.HGBergeLink
All Implemented Interfaces:
java.lang.Iterable<HGHandle>, HGLink

public class HGBergeLink
extends HGPlainLink

A HGBergeLink represent a hyperarc or hyperedge in the mathematical theory of hypergraphs. A hyperarc has a target set that is partitioned into a head and a tail. The name comes from the presumed inventor of this type of arc, Claude Berge. If it turns out the latter did not actually come up with the definition, too bad for the naming choice :)

Author:
Borislav Iordanov

Constructor Summary
HGBergeLink(HGHandle... targets)
           
HGBergeLink(HGHandle[] head, HGHandle[] tail)
           
HGBergeLink(int tailIndex, HGHandle... targets)
           
 
Method Summary
 java.util.Set<HGHandle> getHead()
           
 java.util.Set<HGHandle> getTail()
           
 int getTailIndex()
           
 void setTailIndex(int tailIndex)
           
 
Methods inherited from class org.hypergraphdb.HGPlainLink
getArity, getTargetAt, iterator, notifyTargetHandleUpdate, notifyTargetRemoved
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HGBergeLink

public HGBergeLink(HGHandle... targets)

HGBergeLink

public HGBergeLink(int tailIndex,
                   HGHandle... targets)

HGBergeLink

public HGBergeLink(HGHandle[] head,
                   HGHandle[] tail)
Method Detail

getHead

public java.util.Set<HGHandle> getHead()

getTail

public java.util.Set<HGHandle> getTail()

getTailIndex

public int getTailIndex()

setTailIndex

public void setTailIndex(int tailIndex)