A Java program that calculates the transitive closure of a database relation that holds a set of flights. The algorithm used for computing transitive closure is a semi-naive evaluation algorithm converging in linear time with respect to the diameter of the input graph.