A set of vertices forms a hyperedge if the corresponding variables are those occurring in some constraint.
[1] A simple way to represent the constraint hypergraph is by using a classical graph with the following properties: Properties 1 and 2 define a bipartite graph.
The hypergraph is recovered by defining the vertices as the variable-vertices and the hyperedges as the sets of variable-vertices connected to each constraint-vertex.
The primal constraint graph or simply primal graph (also the Gaifman graph) of a constraint satisfaction problem is the graph whose nodes are the variables of the problem and an edge joins a pair of variables if the two variables occur together in a constraint.
The dual constraint graph is the graph in which the vertices are all constraint scopes involved in the constraints of the problem, and two vertices are connected by an edge if the corresponding scopes have common variables.