Goedgebeur Graph

Author

Eric W. Weisstein
May 2, 2026

This notebook downloaded from https://mathworld.wolfram.com/notebooks/GraphTheory/GoedgebeurGraph.nb.

For more information, see Eric's MathWorld entry https://mathworld.wolfram.com/GoedgebeurGraph.html.

©2026 Wolfram Research, Inc. except for portions noted otherwise

Sources

Jan Goedgebeur
May 2, 2026

By the way: here is something else which I wanted to mention as we are talking about the MathWorld graphs. It is a bit strange and probably totally politically incorrect, so please feel free to ignore it!

In 2015 I found a cubic bipartite graph on 30 vertices which was a counterexample to the "pseudo 2-factor isomorphic graph conjecture". See Fig. 2 of https://doi.org/10.1016/j.dam.2015.04.021 (or this graph on HoG: https://houseofgraphs.org/graphs/19288 -- which admittedly could do with a better drawing).

Then a few years ago Abreu et al. further studied the conjecture and the counterexample in the paper https://doi.org/10.1016/j.dam.2022.12.016 
As they describe in that paper, the graph seems to have more interesting properties than I initially expected back in 2015 (as I thought there would be many counterexamples, but the only other one found -- quite recently -- is the Gray graph, see: https://arxiv.org/abs/2504.12095) and in the same paper they also made a nice alternative drawing of the graph (see Fig. 2 of that paper) and they called it "Goedgebeur's graph" since I first found it (though of course it was rather my computer who found it).

Anyway, I think it is on any graph theorist's bucket list to have a graph on MathWorld (at least it is on mine), so in case you would be looking for more graphs AND you find it interesting enough, feel free to add it! 

I should say that personally I don't find the graph extremely interesting or important as I found it by computer and didn't construct it by hand and of course this is a rather strange / inappropriate "request". So please feel free to totally ignore this if you think it's not interesting enough to list on MathWorld.

Figure

GraphicsGrid[
Partition[StyleGraphs[GraphData["GoedgebeurGraph","Graph","All"]],UpTo[3]],
Dividers->All
]

Embeddings

<<MathWorld`Graphs`

Names

GraphData["GoedgebeurGraph","StandardName"]

GraphData["GoedgebeurGraph","StandardNames"]

HouseOfGraphs

hogid=GraphData["GoedgebeurGraph","NotationRules","HouseOfGraphs"]

HouseOfGraphsLookup[hogid]

HouseOfGraphsGraph[hogid]//StyleGraphs[#,ImageSize->Small]&

Wikidata

GraphData["GoedgebeurGraph","WikidataID"]

GraphData["GoedgebeurGraph","WikidataID","URL"]

Goedgebeur 2015 construction

https://doi.org/10.1016/j.dam.2015.04.021

goedgebeurGraph=Graph[Range[0,29],Join[UndirectedEdge@@@Partition[Append[Range[0,29],0],2,1],UndirectedEdge@@@{{0,13},{1,26},{2,21},{3,28},{4,19},{5,22},{6,15},{7,24},{8,27},{9,18},{10,25},{11,20},{12,17},{14,23},{16,29}}],VertexCoordinates->Thread[Range[0,29]->CirclePoints[30]]]

IsomorphicGraphQ[HouseOfGraphsGraph[19288],goedgebeurGraph]

Abreu et al. construction

https://doi.org/10.1016/j.dam.2022.12.016

v={#/2,#2}&@@@Join[Flatten[Table[{i,j/7},{i,{0,1,5/2}},{j,0,7}],1],
Subdivide[{3,1/14},{3,13/14},3],{{7/2,1/7},{7/2,6/7}}
];
ee={Sequence@@Flatten[Table[Partition[{i,i+8,i+16},2,1],{i,8}],1],{1,10},{2,11},{3,12},{4,9},{5,16},{6,13},{7,14},{8,15},e[17,25,29,30,28,24],{25,19},{22,28},e[23,27,30],{21,27},e[20,26,29],{18,26}};
curvededges1={{1,8},{2,7},{3,6},{4,5}};
curvededges2=curvededges1+16;
g=CurvedEdgeAnnotate[
Graph[Range@Length@v,UndirectedEdge@@@Join[ee,curvededges1,curvededges2],VertexCoordinates->v,VertexLabels->Automatic],
Join[
MapIndexed[{#,1/2,(4-#2[[1]])/4}&,curvededges1],
MapIndexed[{#,1/2,(4-#2[[1]])/4}&,curvededges2]
]
]

IsomorphicGraphQ[g,goedgebeurGraph]

Primary

GraphData["GoedgebeurGraph"]//StyleGraphs[#,ImageSize->Small]&

All

GraphData["GoedgebeurGraph","Graph","All"]//StyleGraphs

CurvedEdge

GraphData["GoedgebeurGraph","Graph","CurvedEdge"]//StyleGraphs

Inexact

Select[GraphData["GoedgebeurGraph","Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Degenerate

GraphData["GoedgebeurGraph","Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData["GoedgebeurGraph","Graph","Degenerate"]//Column

Embeddings

GraphDataEmbeddings[GraphData["GoedgebeurGraph"]]

Default embedding

g0=GraphPlot[Graph[GraphData["GoedgebeurGraph","VertexList"],GraphData["GoedgebeurGraph","Edges"]]]

GeneralizedPetersen

GraphData["GoedgebeurGraph","Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData["GoedgebeurGraph","Graph","IGraph"]//StyleGraphs

CompleteKPartite

GraphData["GoedgebeurGraph","Graph","CompleteKPartite"]//StyleGraphs

Bipartite

GraphData["GoedgebeurGraph","Bipartite"]

GraphData["GoedgebeurGraph","Graph","Bipartite"]//StyleGraphs

Bipartite construction

GraphData["GoedgebeurGraph","Bipartite"]

g=BipartiteGraph[GraphData["GoedgebeurGraph"]]

RecognizeGraph@g

Bilateral

GraphData["GoedgebeurGraph","Graph","Bilateral"]//StyleGraphs

Grid[DeleteCases[Monitor[{g=#,BilateralGraphEmbeddingTypes[#],GraphSymmetryGroup[#]}&/@GraphData["GoedgebeurGraph","Graph","All"],g],{_,_,TransformationGroup[{}]}],Dividers->All,Alignment->{{Center,{Left}}}]//Quiet

Circular

GraphData["GoedgebeurGraph","Graph","Circular"]//StyleGraphs

Circular construction All

GraphData["GoedgebeurGraph","Hamiltonian"]

GraphData["GoedgebeurGraph","LCF"]

GraphData["GoedgebeurGraph","HamiltonianCycleCount"]

GraphData["GoedgebeurGraph","HamiltonianCycles"]

Planar

GraphData["GoedgebeurGraph","Planar"]

GraphData["GoedgebeurGraph","Graph","Planar"]//StyleGraphs

MinimalCrossingNumber crossings.uos.de [verified 8]

CrossingNumber[GraphData["GoedgebeurGraph"],Method->"WebCompute"]//AbsoluteTiming

DateString[]

MinimalCrossingNumber: "EmbeddingScheme" -> 1

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->1,TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->1,TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->1,TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->1,TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->1,TimeConstraint->5 3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->1,TimeConstraint->86400])//AbsoluteTiming

MinimalCrossingNumber: "EmbeddingScheme" -> 2

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->2,TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->2,TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->2,TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->2,TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->2,TimeConstraint->5 3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->2,TimeConstraint->86400])//AbsoluteTiming

MinimalCrossingNumber: "EmbeddingScheme" -> 3

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->3,TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->3,TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->3,TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->3,TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->3,TimeConstraint->5 3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],"EmbeddingScheme"->3,TimeConstraint->86400])//AbsoluteTiming

MinimalCrossing

GraphData["GoedgebeurGraph","CN"]

(gs=GraphData["GoedgebeurGraph","Graph","MinimalCrossing"])//StyleGraphs

GraphCrossingCount/@gs

GraphCrossingDiagram/@gs

MinimalRectilinearCrossing

GraphData["GoedgebeurGraph","RCN"]

GraphData["GoedgebeurGraph","Graph","MinimalRectilinearCrossing"]//StyleGraphs

MinimalCrossing construction Tutte

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],TimeConstraint->1])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData["GoedgebeurGraph"],"CrossingNumber"->cn])//PolyhedralGraphQ//AbsoluteTiming

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

TutteGraphs=BilateralGraph[CenterGraph@IGLayoutTutte[g,"OuterFace"->#],"ReturnNonbilateralGraph"->True]&/@faces

TutteGraphsWithOuterCrossingPointCounts={
#,
Count[OuterFace[#],_?(GreaterThan[GraphData["GoedgebeurGraph","V"]])]
}&/@TutteGraphs;

Cases[TutteGraphsWithOuterCrossingPointCounts,{g_,0}:>g]

Cases[TutteGraphsWithOuterCrossingPointCounts,{g_,1}:>g]

LocalCrossingNumberWithEmbeddings=
{1+Max[Length/@DeleteCases[
Drop[AdjacencyList[#],GraphData["GoedgebeurGraph","V"]],
_Integer?(LessEqualThan[GraphData["GoedgebeurGraph","V"]]),
{2}
]],#}&/@TutteGraphs

TutteGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[
#,
AdditionalData->Join[Table[True,GraphData["GoedgebeurGraph","V"]],Table[False,cn]],
SameTest->Equal
]
}&/@TutteGraphs;

SymmetricEmbeddingsWithOrientations=DeleteCases[
TutteGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]

Select[SymmetricEmbeddingsWithOrientations[[All,1]],Count[OuterFace[#],_?(GreaterThan[GraphData["GoedgebeurGraph","V"]])]==0&]

MinimalCrossing construction Random 1k

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],TimeConstraint->1])//AbsoluteTiming

(RandomGraphs=Table[MinimalCrossingGraph[GraphData["GoedgebeurGraph"],"CrossingNumber"->cn,RandomSeed->n],{n,1000}]//Union);//Timing

RandomGraphsWithOuterCrossingPointCounts={
#,
Count[OuterFace[#],_?(GreaterThan[GraphData["GoedgebeurGraph","V"]])]
}&/@RandomGraphs;

Small numbers of crossing points on the boundary:

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,0}:>g]

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,1}:>g]

Symmetric embeddings:

RandomGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[
#,
AdditionalData->Join[Table[True,GraphData["GoedgebeurGraph","V"]],Table[False,cn]],
SameTest->Equal
]
}&/@RandomGraphs;

MaxMemoryUsed[]/10^9.GB

DeleteCases[
RandomGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]/.g_Graph:>BilateralGraph[CenterGraph@g,"ReturnNonbilateralGraph"->True]

GraphPlot@

GraphPlot@

v=Join[CirclePoints[{1,Pi/2},8],CirclePoints[{3/4,Pi/2},8],CirclePoints[1/2,8],CirclePoints[1/4,4]];
v=Join[v,Mean[v[[#]]]&/@{{27,26},{25,28}}];
ee=Sort[Sort/@{e[{1,8},1,{9,16},9],e[4,24,23,12],{3,11},{7,15},{5,13},e[6,17,18,14],e[23,27,29,26,18],e[24,25,30,28,17],e[28,22,2],e[25,19,8],{29,30},e[22,21,10],e[16,20,27],e[21,26],{19,20}}];
g=Graph[Range@Length@v,UndirectedEdge@@@ee,VertexCoordinates->v]

RecognizeGraph@g

GraphCrossingCount@g

GraphCrossingDiagram@g

MinimalCrossing construction Random 20k

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],TimeConstraint->1])//AbsoluteTiming

(RandomGraphs=Table[MinimalCrossingGraph[GraphData["GoedgebeurGraph"],"CrossingNumber"->cn,RandomSeed->n],{n,20000}]//Union);//Timing

RandomGraphsWithOuterCrossingPointCounts={
#,
Count[OuterFace[#],_?(GreaterThan[GraphData["GoedgebeurGraph","V"]])]
}&/@RandomGraphs;

Small numbers of crossing points on the boundary:

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,0}:>g]

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,1}:>g]

Symmetric embeddings:

RandomGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[
#,
AdditionalData->Join[Table[True,GraphData["GoedgebeurGraph","V"]],Table[False,cn]],
SameTest->Equal
]
}&/@RandomGraphs;

MaxMemoryUsed[]/10^9.GB

DeleteCases[
RandomGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]/.g_Graph:>BilateralGraph[CenterGraph@g,"ReturnNonbilateralGraph"->True]

MinimalLocalCrossing

GraphData["GoedgebeurGraph",{"LocalCrossingNumber","RectilinearLocalCrossingNumber"}]

GraphData["GoedgebeurGraph","Graph","MinimalLocalCrossing"]//StyleGraphs

MinimalRectilinearLocalCrossing

GraphData["GoedgebeurGraph",{"LocalCrossingNumber","RectilinearLocalCrossingNumber"}]

GraphData["GoedgebeurGraph","Graph","MinimalRectilinearLocalCrossing"]//StyleGraphs

MinimaRectilinearlLocalCrossing construction 1000

AdjacentCrossingsQ[g_Graph,cn_Integer]:=Module[{a=AdjacencyList[g],n=VertexCount[g]-cn},Max[Take[a,-cn]]>n]

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],TimeConstraint->10])//AbsoluteTiming

(gs=Select[Table[MinimalCrossingGraph[GraphData["GoedgebeurGraph"],"CrossingNumber"->cn,RandomSeed->i],{i,1000}],!AdjacentCrossingsQ[#,cn]&]//Union)//Timing

MinimaRectilinearlLocalCrossing construction 20000

AdjacentCrossingsQ[g_Graph,cn_Integer]:=Module[{a=AdjacencyList[g],n=VertexCount[g]-cn},Max[Take[a,-cn]]>n]

(cn=CrossingNumber[GraphData["GoedgebeurGraph"],TimeConstraint->10])//AbsoluteTiming

(gs=Select[Table[MinimalCrossingGraph[GraphData["GoedgebeurGraph"],"CrossingNumber"->cn,RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union)//Timing

Circulant

GraphData["GoedgebeurGraph","Circulant"]

GraphData["GoedgebeurGraph","Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData["GoedgebeurGraph","NotationRules","Circulant"]

(ci=CirculantIndices[GraphData["GoedgebeurGraph"]])//Timing

CirculantGraph1@@@ci

Cases[GraphData["GoedgebeurGraph","StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

compl=GraphData["GoedgebeurGraph","ComplementGraph","Name"]

Line graph

GraphData["GoedgebeurGraph","Line"]

LineGraphQ[GraphData["GoedgebeurGraph"]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==="GoedgebeurGraph"&]

RootGraph[GraphData["GoedgebeurGraph"]]

Halin

GraphData["GoedgebeurGraph","Halin"]

GraphData["GoedgebeurGraph","Graph","Halin"]//StyleGraphs

Rigid

GraphData["GoedgebeurGraph","Rigid"]

GraphData["GoedgebeurGraph","Graph","Rigid"]//StyleGraphs

Flexible

GraphData["GoedgebeurGraph","Flexible"]

GraphData["GoedgebeurGraph","Graph","Flexible"]//StyleGraphs

LCF

GraphData["GoedgebeurGraph","LCF"]

GraphData["GoedgebeurGraph","HamiltonianCycleCount"]

GraphData["GoedgebeurGraph","LCFSignature"]

GraphData["GoedgebeurGraph","LCFNotations"]

GraphData["GoedgebeurGraph","Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute all

Divisors[GraphData["GoedgebeurGraph","V"]]

Length[FindHamiltonianCycle[GraphData["GoedgebeurGraph"],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData["GoedgebeurGraph"],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(nicelcfgs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs=nicelcfgs]

gs

NiceLCFEmbeddingsWithSymmetryGroups={#,GraphSymmetryGroup[#]}&/@gs;

DeleteCases[NiceLCFEmbeddingsWithSymmetryGroups,{_,TransformationGroup[{Reflection[InfiniteLine[{0,0},{0,-1}]]}]}]

UnitDistance

GraphData["GoedgebeurGraph","UnitDistance"]

UnitDistanceGraphQ[GraphData["GoedgebeurGraph"],Debug->True]//Timing

GraphData["GoedgebeurGraph","Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement of default embeddings

Graph[edge list]

(g=UnitDistanceEmbeddingRefine[Graph[GraphData["GoedgebeurGraph","EdgeList"]],MaxIterations->500])//Timing

UnitDistanceGraphEmbeddingQ[g]

Graph[vertex list, edge list]

(g=UnitDistanceEmbeddingRefine[Graph[GraphData["GoedgebeurGraph","VertexList"],GraphData["GoedgebeurGraph","EdgeList"]],MaxIterations->500])//Timing

UnitDistanceGraphEmbeddingQ[g]

UnitDistance by refinement of existing embeddings

gs=UnitDistanceEmbeddingRefine[Graph[VertexList[#],EdgeList[#],VertexCoordinates->GraphEmbedding[#]],MaxIterations->500]&/@Complement@@(GraphData["GoedgebeurGraph","Graph",#]&/@{"All","UnitDistance"})

TextGrid[
gdata=SortBy[
{#,DegenerateGraphEmbeddingQ[#],GraphSymmetryGroup[#],Max[Abs[EdgeLengths[#]-1]]}&/@gs,
Last
],
Dividers->All
]

Cases[gdata,{__,0.}]

Symmetric:

gs=Cases[
gdata,
{g_,_,sym:Except[TransformationGroup[{}]],diff_}:>{
HighlightGraph[g1=BilateralGraph[CenterGraph[g],"ReturnNonbilateralGraph"->True],Flatten[FindCoincidentVertices[g1]]],
sym,
diff
}]

UnitDistance by refinement of stored LCF embeddings

lcf=LCFNotation/@GraphData["GoedgebeurGraph","Graph","LCF"]

gs=UnitDistanceEmbeddingRefine[LCFGraph@@#,MaxIterations->500]&/@lcf;//Timing

gdata=SortBy[
{#,Max[Abs[EdgeLengths[#]-1]]}&/@gs,
Last
]

Cases[gdata,{g_?UnitDistanceGraphEmbeddingQ,_}:>g]

NondegenerateSymmetricGraphs=Select[
gdata,
And[
DegenerateGraphEmbeddingQ[#[[1]]]===False,
GraphSymmetryGroup[#[[1]]]=!=TransformationGroup[{}]
]&
]/.g_Graph:>CenterGraph[g]

UnitDistance by FindUnitDistanceEmbedding  (random embeddings returning on messages)

gs=FindUnitDistanceEmbedding[GraphData["GoedgebeurGraph"],50,"ReturnWithMessage"->True];//Quiet//Timing

gdata=SortBy[
{#,Max[Abs[EdgeLengths[#]-1]]}&/@gs,
Last
]

Cases[gdata,{g_?UnitDistanceGraphEmbeddingQ,_}:>g]

SymmetricEmebddings=Select[gdata,GraphSymmetryGroup[#[[1]]]=!=TransformationGroup[{}]&]

UnitDistance by FindUnitDistanceEmbedding  (random embedding waiting until UD is found)

FindUnitDistanceEmbedding[GraphData["GoedgebeurGraph"],"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{$Version,DateString[]}

{"GoedgebeurGraph",l=FindSubgraphUnitDistanceEmbedding[GraphData["GoedgebeurGraph"],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Select[IndexGraph/@gs,!DegenerateGraphEmbeddingQ[#]&&GraphSymmetryGroup[#]=!=TransformationGroup[{}]&]//Timing

Matchstick

GraphData["GoedgebeurGraph","Matchstick"]

GraphData["GoedgebeurGraph","Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData["GoedgebeurGraph","Edges"]]

3D construction

3D All

GraphData["GoedgebeurGraph","Graph",{"3D","All"}]

3D UnitDistance construction Random

GraphData["GoedgebeurGraph","Dimension"]

(g=UnitDistanceEmbeddingRefine[
Graph3D[
GraphData["GoedgebeurGraph","VertexList"],
GraphData["GoedgebeurGraph","EdgeList"]
],
WorkingPrecision->25])//Timing

EdgeLengths[g]

UnitDistanceGraphEmbeddingQ[g]

3D UnitDistance

GraphData["GoedgebeurGraph","Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData["GoedgebeurGraph","Polyhedral"]

GraphData["GoedgebeurGraph","Graph",{"3D","Polyhedron"}]

Construction

GraphDataClassString

GraphDataClassString["GoedgebeurGraph"]

GraphDataString

goedgebeurGraph=Graph[Range[0,29],Join[UndirectedEdge@@@Partition[Append[Range[0,29],0],2,1],UndirectedEdge@@@{{0,13},{1,26},{2,21},{3,28},{4,19},{5,22},{6,15},{7,24},{8,27},{9,18},{10,25},{11,20},{12,17},{14,23},{16,29}}],VertexCoordinates->Thread[Range[0,29]->CirclePoints[30]]]

Close[file]

file=OpenWrite["~/goedgebeurGraph-test.m"]

WriteString[
file,
GraphDataString[
goedgebeurGraph,
"StandardName"->"GoedgebeurGraph",
"Name"->"Goedgebeur graph",
"Skip"->{"ConstructionNumber","LinklesslyEmbeddable","Minors"}
]
];

Close[file]