  Data processing systems impose multiple views on data as it is processed by
the system. These views include spreadsheets, databases, matrices, and graphs.
Associative arrays unify and simplify these different approaches into a common
two-dimensional view of data. Graph construction, a fundamental operation in
the data processing pipeline, is typically done by multiplying the incidence
array representations of a graph, $\mathbf{E}_\mathrm{in}$ and
$\mathbf{E}_\mathrm{out}$, to produce an adjacency matrix of the graph that can
be processed with a variety of machine learning clustering techniques. This
work focuses on establishing the mathematical criteria to ensure that the
matrix product $\mathbf{E}_\mathrm{out}^\intercal\mathbf{E}_\mathrm{in}$ is the
adjacency array of the graph. It will then be shown that these criteria are
also necessary and sufficient for the remaining nonzero product of incidence
arrays, $\mathbf{E}_\mathrm{in}^\intercal\mathbf{E}_\mathrm{out}$ to be the
adjacency matrices of the reversed graph. Algebraic structures that comply with
the criteria will be identified and discussed.
