Robert, here's a couple of points. Firstly, you can't apply \\(\text{WorksIn}\\) to \\(r\\). The new employee will be recorded in an database which has the shape of this graph, what you might call an instance of the pictured schema. As John said this means a functor \\(F\colon \mathcal{C}\to \textbf{Set}\\). The functor \\(F\\) is encoding *your* database. So the employee \\(r\\) will be an element of the set \\(F(\text{Employee})\\). This means that you cannot apply \\(\text{WorksIn}\\) to \\(r\\) as \\(\text{WorksIn}\\) is a morphism in the abstract category \\(\mathcal{C}\\). The set \\(F(\text{Employee})\\) is your set of employees and you can apply \\(F(\text{WorksIn})\\) to that.

The result beng that your equation should read

\[

F(\text{DepartmentName})(F(\text{WorksIn})(r)) = \text{"engineering"}

\]

or more simply, because \\(F\\) is a functor,

\[

F(\text{DepartmentName}\circ\text{WorksIn})(r) = \text{"engineering"}.

\]

The result beng that your equation should read

\[

F(\text{DepartmentName})(F(\text{WorksIn})(r)) = \text{"engineering"}

\]

or more simply, because \\(F\\) is a functor,

\[

F(\text{DepartmentName}\circ\text{WorksIn})(r) = \text{"engineering"}.

\]