  This paper is a survey of some of the most elementary consequences of the
JSJ-decomposition and geometrization for knot and link complements in the
3-sphere. Formulated in the language of graphs, the result is the construction
of a bijective correspondence between the isotopy classes of links in $S^3$ and
a class of vertex-labelled, finite acyclic graphs, called companionship graphs.
This construction can be thought of as a uniqueness theorem for Schubert's
`satellite operations.' We identify precisely which graphs are companionship
graphs of knots and links respectively. We also describe how a large family of
operations on knots and links affects companionship graphs. This family of
operations is called `splicing' and includes, among others, the operations of:
cabling, connect-sum, Whitehead doubling and the deletion of a component.
