JohnsonGraph:=function(v,k) G:=Sym(v); X:={@ s : s in Subsets({1..v},k) @}; H:=StandardGroup(ActionImage(G,GSet(G,X))); t:=exists(i){ j : j in [1..#X] | #(X[1] meet X[j]) eq k-1 }; return OrbitalGraph(H,1,{i}); end function;