  We define a Johnson graph code as a subspace of labelings of the vertices in
a Johnson graph with the property that labelings are uniquely determined by
their restriction to vertex neighborhoods specified by the parameters of the
code. We give a construction and main properties for the codes and show their
role in the concatenation of layered codes that are used in distributed storage
systems. A similar class of codes for the Hamming graph is discussed in an
appendix. Codes of the latter type are in general different from affine
Reed-Muller codes, but for the special case of the hypercube they agree with
binary Reed-Muller codes.
