"Build and validate DGL datasets, CSV dataset folders, graph
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill datasets-and-io --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Datasets And Io?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-datasets-and-io)More formats (shields.io, HTML) on the badges page.
---
name: datasets-and-io
description: "Build and validate DGL datasets, CSV dataset folders, graph
serialization caches, and GraphBolt OnDiskDataset handoffs."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# DGL Datasets and IO
Use this sub-skill when the task is about getting graph data into or out of DGL before model code runs.
## Use When
- Creating a `dgl.data.DGLDataset` subclass with `process()`, `save()`, `load()`, and `has_cache()`.
- Loading a folder of CSV node, edge, and graph files with `dgl.data.CSVDataset`.
- Fixing `meta.yaml`, feature parsing, split masks, graph-level labels, or cache reload behavior.
- Saving/loading `DGLGraph` objects with `dgl.save_graphs()` / `dgl.load_graphs()` and dataset metadata with `save_info()` / `load_info()`.
- Preparing a data-format handoff for GraphBolt `OnDiskDataset` or DGL-Go CSV ingestion.
## Start Here
- Read `references/workflows.md` for custom dataset lifecycle, caching, serialization, CSV loading, and built-in dataset caveats.
- Read `references/data-formats.md` for `meta.yaml` schemas, CSV required columns, heterograph conventions, and `OnDiskDataset` metadata routing.
- Read `references/troubleshooting.md` when `CSVDataset`, cache reloads, downloads, feature dtypes, or split masks fail.
- Run `python scripts/csv_dataset_linter.py DATASET_DIR` before calling `dgl.data.CSVDataset(DATASET_DIR)` on a custom CSV folder.
## Route Elsewhere
- Route raw graph construction details to `../graph-apis/` after validating files and before writing a `DGLGraph` manually.
- Route GraphBolt datapipes, `ItemSet`, `ItemSampler`, `DataLoader`, sampled minibatches, and feature fetch execution to `../dataloading-graphbolt/`.
- Route partition configs and distributed training output formats to `../distributed-tools/`.
- Route model layers, message passing, losses, and training loops to `../message-passing-training/`.
- Route DGL-Go CLI training and CSV project commands to `../dglgo-cli/`; this sub-skill only covers making the CSV folder valid enough to hand off.
## Core APIs
- `dgl.data.DGLDataset(name, url=None, raw_dir=None, save_dir=None, hash_key=(), force_reload=False, verbose=False, transform=None)`.
- `dgl.data.CSVDataset(data_path, force_reload=False, verbose=True, ndata_parser=None, edata_parser=None, gdata_parser=None, transform=None)`.
- `dgl.save_graphs(filename, g_list, labels=None, formats=None)` and `dgl.load_graphs(filename, idx_list=None)`.
- `dgl.data.utils.save_info(path, info)` and `dgl.data.utils.load_info(path)`.
## Safety Notes
- Keep generated dataset code independent from local checkout paths; accept `raw_dir`, `save_dir`, or a dataset folder from the caller.
- Prefer tiny local fixtures for validation; avoid downloadable built-in datasets unless the user explicitly allows network access.
- Treat `CSVDataset` `meta.yaml`, GraphBolt `metadata.yaml`, and distributed partition JSON/configs as separate formats with different owners.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!