# # Given a gSpan file will convert every graph into the 'line' format # INPUT: gSpan # OUTPUT: line # 2007, Bjoern Bringmann # open(DATA, $ARGV[0]); @data = ; close(DATA); $data[@data] = "t # END"; # Dummy for ($i = 0; $i < @data; ++$i) { chomp($data[$i]); @parts = split(/ /, $data[$i]); if ($parts[0] eq "t") { if ($i > 0) { $n = @nodes; $e = @edges / 3; printf("# %s %d %d\n", $name, $n, $e); printf("%s\n", join(" ", @nodes)); printf("%s\n", join(" ", @edges)); } @nodes = (); @edges = (); $name = $parts[2]; } if ($parts[0] eq "v") { $nodes[@nodes] = $parts[2]; } if ($parts[0] eq "e") { $edges[@edges] = ($parts[1] + 1); $edges[@edges] = ($parts[2] + 1); $edges[@edges] = $parts[3]; } }