Network Datasets Documentation
A curated collection of example infrastructure network datasets to support research on network reliability, risk, resilience, and uncertainty quantification.
The repository serves two purposes (cf Figure 1): (1) to provide a standardised collection of benchmark network datasets, and (2) to offer ready-to-use system performance functions compatible with network data for probabilistic assessments.
Figure 1. Overview of the Network Datasets repository.
The datasets are designed for use with MBNpy but can also be loaded independently.
Overview
The Network Datasets repository contains:
Structured datasets: Infrastructure networks with nodes, edges, probabilities, and optional metadata, each accompanied by illustrative examples | JSON Schemas: Validation schemas that ensure data consistency
ndtools: Python utilities for loading, graph building, and network analysis
Repository Structure
├─ registry.json # Index of available datasets
├─ schema/ # JSON Schemas for validation
├─ <dataset folders>/ # e.g. distribution-substation-liang2022/
├─ ndtools/ # Utility functions for loading and analysis
├─ tests/ # Unit tests
└─ LICENSE # Licensing (MIT for code, CC-BY-4.0 for data)
Key Features
Standardised Format: All datasets follow consistent JSON schemas
NetworkX Integration: Easy conversion to NetworkX graphs
Validation Tools: Built-in data validation against schemas
Visualisation: Graph drawing utilities with multiple layout options
Analysis Functions: Connectivity, shortest path, substation capacity, and more
Multiple Domains: Power grids, transportation, and other infrastructure
Quick Start
Install the package:
pip install -e .
Load a dataset:
from ndtools.io import dataset_paths, load_json
from ndtools.graphs import build_graph
from pathlib import Path
# Get dataset paths
nodes_path, edges_path, probs_path = dataset_paths(Path('.'), 'toynet-11edges', 'v1')
# Load data
nodes = load_json(nodes_path)
edges = load_json(edges_path)
probs = load_json(probs_path)
# Build NetworkX graph
G = build_graph(nodes, edges, probs)
License
Code (scripts, validators): MIT License
Data (datasets): CC-BY-4.0 License