Every graph has a line graph, but not all graphs are line graphs of some graph. Certain types of induced subgraphs indicate whether a graph is a line graph. For example, the claw is not a line graph. This thesis gives a careful characterization of the main theorem of line graphs, that is, the necessary and sufficient conditions for a graph to be a line graph. We show the relationship between triangles, forbidden subgraphs, Krausz partitions and line graphs by providing additional lemmas which aim to support the main theorem. Less attention has been devoted to line graphs of directed graphs. De Bruijn graphs give a motivation to investigate this class since they are directed line graphs. Another motivation for learning about directed line graphs arises from the study of the sum-productalgorithm for low density parity check codes. We work with a very general class of directed graphs that allow multiple edges and loops, which are called nets by Harary. We investigate the flow net and compare it to the line graph to lay the foundation for future study of directed line graphs.