Dutch Railway Network

Source Notebook

The Dutch railway network data

Details

The vertices represent stations in the Dutch railway system, with each vertex assigned a weight corresponding to the total number of disruptions reported at that station over the past year.
The edges represent direct railway connections between stations, with each edge assigned a weight that corresponds to the physical distance (in kilometers) between the connected stations.
This graph consists of 404 vertices (stations) and 440 edges (direct railway routes).

(440 elements)

Examples

Basic Examples (3) 

Retrieve the graph:

In[1]:=
Graph[ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)]]
Out[1]=

Find the vertex count for the network:

In[2]:=
VertexCount[ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)]]
Out[2]=

Find the edge count for the network:

In[3]:=
EdgeCount[ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)]]
Out[3]=

Visualizations (3) 

Visualize the full GeoGraphPlot:

In[4]:=
GeoGraphPlot[ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)] /. ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "Position"], VertexSize -> 3, PlotTheme -> "Scientific"]
Out[4]=

Visualize the vertices with more disruptions:

In[5]:=
g = ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)];
In[6]:=
GeoGraphPlot[g /. ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "Position"], VertexSize -> Thread[((ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "VertexWeight"][[;; , 1]]) /. ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "Position"]) -> ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "VertexWeight"][[;; , 2]]/30], PlotTheme -> "Classic"]
Out[6]=

Visualize the vertices with more connections:

In[7]:=
g = ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)];
In[8]:=
Graph[g, VertexSize -> Thread[VertexList[g] -> (VertexDegree[g]/Median[VertexDegree[g]])]]
Out[8]=

Analysis (2) 

Find a shortest path between two stations:

In[9]:=
sp = FindShortestPath[Graph[ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)], EdgeWeight -> ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "EdgeWeight"]], "'s-Hertogenbosch Oost", "'t Harde"]
Out[9]=

And visualize the path:

In[10]:=
GeoGraphPlot[HighlightGraph[ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\)] /. ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "Position"], VertexSize -> 2, GraphHighlight -> (sp /. ResourceData[\!\(\*
TagBox["\"\<Dutch Railway Network\>\"",
#& ,
BoxID -> "ResourceTag-Dutch Railway Network-Input",
AutoDelete->True]\), "Position"])], PlotTheme -> "Business", VertexSize -> 1]
Out[10]=

Wolfram Discrete Computation, "Dutch Railway Network" from the Wolfram Data Repository (2025)  

Data Resource History

Source Metadata

Publisher Information