Yes, it is possible with Xy, and is fairly simple:
A \ar[r] \ar@/_0.4cm/[rr] & B \ar[r] & C
Just as in a
array environment, the content of an
xymatrix is interpreted as a grid, with
& separating entries and
\\ separating rows.
\ar is the command for an arrow:
[r] indicates that it points to the right.
The most complicated part is the curved arrow: starting with
\ar[rr] (an arrow pointing two grid entries to the right), the syntax
@/_0.4cm/ signals to curve it downwards by 0.4 cm.
Then, you can label your arrows with superscripts and subscripts:
\ar[r]^f typesets f above the arrow, and
\ar[r]_g typesets g below the arrow. (If you use arrows pointing other directions, this will change: technically,
^ is used to put the label on the left side of the arrowhead, and
_ on the right side.)