src/main/java/org/thegalactic/lattice/ConceptLattice.java
public void recursiveDiagramLattice(Concept n, ClosureSystem init) {
        Vector<TreeSet<Comparable>> immSucc = this.immediateSuccessors(n, init);
        for (TreeSet<Comparable> setX : immSucc) {
            Concept c = new Concept(new TreeSet(setX), false);
            Concept ns = (Concept) this.getNode(c);
            if (ns != null) {
                // when ns already exists, addition of a new edge
                this.addEdge(n, ns);
            } else { // when ns don't already exists, addition of a new node and recursive treatment
                this.addNode(c);
                this.addEdge(n, c);
                this.recursiveDiagramLattice(c, init);
            }
        }
    }
/**
     * Returns the Hasse diagramme of the closed set lattice of the specified
     * closure system issued from the specified concept.
     *
     * Immediate successors generation is an adaptation of Bordat's theorem
     * stating that there is a bijection between minimal strongly connected
     * component of the precedence subgraph issued from the specified node, and
     * its immediate successors.
     *
     * This treatment is performed in O(cCl|S|^3log g) where S is the initial
     * set of elements, c is the number of closed sets that could be exponential
     * in the worst case, Cl is the closure computation complexity and g is the
     * number of minimal generators of the lattice.
     *
     * @param n    a concept
     * @param init a closure system
     */
Returns the Hasse diagramme of the closed set lattice of the specified
closure system issued from the specified concept.

Immediate successors generation is an adaptation of Bordat's theorem
stating that there is a bijection between minimal strongly connected
component of the precedence subgraph issued from the specified node, and
its immediate successors.

This treatment is performed in O(cCl|S|^3log g) where S is the initial
set of elements, c is the number of closed sets that could be exponential
in the worst case, Cl is the closure computation complexity and g is the
number of minimal generators of the lattice.

@param n    a concept
@param init a closure system
Returns the Hasse diagramme of the closed set lattice of the specified closure system issued from the specified concept . Immediate successors generation is an adaptation of Bordat ' s theorem stating that there is a bijection between minimal strongly connected component of the precedence subgraph issued from the specified node and its immediate successors . This treatment is performed in O ( cCl|S|^3log g ) where S is the initial set of elements c is the number of closed sets that could be exponential in the worst case Cl is the closure computation complexity and g is the number of minimal generators of the lattice . @param n a concept @param init a closure system
public void recursiveDiagramLattice(Concept n, ClosureSystem init) {
        Vector<TreeSet<Comparable>> immSucc = this.immediateSuccessors(n, init);
        for (TreeSet<Comparable> setX : immSucc) {
            Concept c = new Concept(new TreeSet(setX), false);
            Concept ns = (Concept) this.getNode(c);
            if (ns != null) {
                this.addEdge(n, ns);
            } else { 
                this.addNode(c);
                this.addEdge(n, c);
                this.recursiveDiagramLattice(c, init);
            }
        }
    }
public void recursiveDiagramLattice ( Concept n , ClosureSystem init ) { Vector < TreeSet < Comparable > > immSucc = this . immediateSuccessors ( n , init ) ; for ( TreeSet < Comparable > setX : immSucc ) { Concept c = new Concept ( new TreeSet ( setX ) , false ) ; Concept ns = ( Concept ) this . getNode ( c ) ; if ( ns != null ) { this . addEdge ( n , ns ) ; } else { this . addNode ( c ) ; this . addEdge ( n , c ) ; this . recursiveDiagramLattice ( c , init ) ; } } }
Returns the Hasse diagramme of the closed set lattice of the specified
 closure system issued from the specified concept.
Returns the Hasse diagramme of the closed set lattice of the specified closure system issued from the specified concept .
// when ns already exists, addition of a new edge // when ns don't already exists, addition of a new node and recursive treatment