The simplest way to expand this formulation for single-type graphs is to duplicate each predicate node, with one node for each order of the types, and then the ILP is unchanged.
this is inefficient as it results in an ILP with 2n(2n − 1) variables and 2n(2n−1)(2n−2) transitivity constraints.