private boolean generateDLFile(String outFileName) {
		// Now write the graph
		try { 
			PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(outFileName)));
			
//			int n = hierarchy.getNodeCount();
			Column colID = graph.getVertexTable().getColumn("id");
			
			// Boilerplate
			// The following example shows the DL format used for UCINET for Windows
			// The example can be found at page 31 of Ucinet 6 User's Guide
			//		dl n = 4 format = edgelist1
			//		labels:
			//		Sanders,Skvoretz,S.Smith,T.Smith
			//		data:
			//		1 2 1
			//		1 3 2
			//		2 1 1
			//		2 3 1
			//		2 4 
			//		3 1 1
			//		3 2 na
			//		4 2 10.3

			pw.println("dl n = " + colID.getValueAt(colID.getRowCount()-1) + " format = edgelist1");
			pw.println("data:");
			
			// Write Node
			
			ArrayList<AggNode> nodes = aggGraph.getNodes();
			
			
			for (AggNode node : nodes) {
				String src_id = (String) colID.getValueAt(node.getId());
				
				ArrayList<AggEdge> edges = node.getAllOutEdges();
				for (AggEdge edge : edges) {
					String dst_id = (String) colID.getValueAt(edge.getDst().getId());
					Collection<Integer> rows = edge.getAllItems();
					pw.println(src_id + " " + dst_id + " " + rows.size());
				}
			}
			
			pw.close();
		}
		catch (IOException e) { 
			e.printStackTrace();
			return false;
		}
		
		return true;
	}