Semi-cartesian product of graphs