Unordered/Cyclic Hypergraphs

Unordered

In[]:=
unorderedHyperedgesToGraph[edges_]:=Catenate[Replace[edges,vertices_Thread[{Unique[],vertices}],{1}]]
In[]:=
unorderedHyperedgesToGraph[{{1,2,3},{3,4,5},{5,6,1}}]
Out[]=
{{$56,1},{$56,2},{$56,3},{$57,3},{$57,4},{$57,5},{$58,5},{$58,6},{$58,1}}
In[]:=
unorderedHyperedgesToGraph[{{2,4,6}}]
Out[]=
{{$59,2},{$59,4},{$59,6}}
In[]:=
FindCanonicalWolframModel[{{{$59,2},{$59,4},{$59,6}}->{{$56,1},{$56,2},{$56,3},{$57,3},{$57,4},{$57,5},{$58,5},{$58,6},{$58,1}}}]
Out[]=
In[]:=
WolframModel[{{{$59,2},{$59,4},{$59,6}}->{{$56,1},{$56,2},{$56,3},{$57,3},{$57,4},{$57,5},{$58,5},{$58,6},{$58,1}}},Table[0,3,2],4]
Out[]=
In[]:=
HypergraphPlot[%["FinalState"]]
Out[]=
In[]:=
WolframModel[unorderedHyperedgesToGraph[{{1,2,4}}]->unorderedHyperedgesToGraph[{{1,2,3},{3,4,5}}],Table[0,3,2],7,"FinalState"]//HypergraphPlot
Out[]=
In[]:=
WolframModel[unorderedHyperedgesToGraph[{{1,1,2}}]->unorderedHyperedgesToGraph[{{1,2,2},{2,2,3}}],Table[0,3,2],6,"FinalState"]//HypergraphPlot
Out[]=
In[]:=
WolframModel[{{{1,2},{2,3},{3,1}}{{1,4},{2,5},{3,6},{4,5},{5,6},{6,4}}},Table[0,3,2],7,"FinalState"]//HypergraphPlot
Out[]=
In[]:=
WolframModel[{{{1,2},{2,3},{3,1}}{{1,4},{2,5},{3,6},{4,5},{5,6},{6,4}}},{{1,2},{2,3},{3,1}},4,"FinalState"]//HypergraphPlot
Out[]=
In[]:=
RulePlot[WolframModel[{{{1,2},{2,3},{3,1}}{{1,4},{2,5},{3,6},{4,5},{5,6},{6,4}}}]]
Out[]=
In[]:=
MakeTwoWay[list_List]:=Join[list,Reverse/@list]
In[]:=
twoway=Map[MakeTwoWay,{{{1,2},{2,3},{3,1}}{{1,4},{2,5},{3,6},{4,5},{5,6},{6,4}}},{2}]
Out[]=
{{{1,2},{2,3},{3,1},{2,1},{3,2},{1,3}}{{1,4},{2,5},{3,6},{4,5},{5,6},{6,4},{4,1},{5,2},{6,3},{5,4},{6,5},{4,6}}}
In[]:=
WolframModel[twoway,Table[0,6,2],5,"FinalState"]//HypergraphPlot
Out[]=

Cyclic