  We study harmonic morphisms of graphs as a natural discrete analogue of
holomorphic maps between Riemann surfaces. We formulate a graph-theoretic
analogue of the classical Riemann-Hurwitz formula, study the functorial maps on
Jacobians and harmonic 1-forms induced by a harmonic morphism, and present a
discrete analogue of the canonical map from a Riemann surface to projective
space. We also discuss several equivalent formulations of the notion of a
hyperelliptic graph, all motivated by the classical theory of Riemann surfaces.
As an application of our results, we show that for a 2-edge-connected graph G
which is not a cycle, there is at most one involution $\iota$ on G for which
the quotient $G/\iota$ is a tree. We also show that the number of spanning
trees in a graph G is even if and only if G admits a non-constant harmonic
morphism to the graph B_2 consisting of 2 vertices connected by 2 edges.
Finally, we use the Riemann-Hurwitz formula and our results on hyperelliptic
graphs to classify all hyperelliptic graphs having no Weierstrass points.
