  Knowledge graph embedding involves learning representations of entities --
the vertices of the graph -- and relations -- the edges of the graph -- such
that the resulting representations encode the known factual information
represented by the knowledge graph and can be used in the inference of new
relations. We show that knowledge graph embedding is naturally expressed in the
topological and categorical language of \textit{cellular sheaves}: a knowledge
graph embedding can be described as an approximate global section of an
appropriate \textit{knowledge sheaf} over the graph, with consistency
constraints induced by the knowledge graph's schema. This approach provides a
generalized framework for reasoning about knowledge graph embedding models and
allows for the expression of a wide range of prior constraints on embeddings.
Further, the resulting embeddings can be easily adapted for reasoning over
composite relations without special training. We implement these ideas to
highlight the benefits of the extensions inspired by this new perspective.
