Pipeline DAG Topology (JSON, with Expected Answers)
The shared six-task topology as a plain node/edge JSON document that also publishes the expected answers (roots, leaves, longest path, and topological order), so a graph library or DAG visualiser can be scored without a hand-written oracle.
{
"name": "orders_etl",
"description": "Node and edge listing for the orders ETL topology, shared across formats.",
"acyclic": true,
"nodes": [
{
"id": "ingest_orders",
"label": "ingest orders",
"kind": "task",
"depth": 0
},
{
"id": "validate_orders",
"label": "validate orders",
"kind": "task",
"depth": 1
},
{
"id": "transform_orders",
"label": "transform orders",
"kind": "task",
"depth": 2
},
{
"id": "load_warehouse",
"label": "load warehouse",
"kind": "task",
"depth": 3
},
{
"id": "refresh_dashboard",
"label": "refresh dashboard",
"kind": "task",
"depth": 3
},
{
"id": "notify_owner",
"label": "notify owner",
"kind": "task",
"depth": 4
}
],
"edges": [
{
"from": "ingest_orders",
"to": "validate_orders"
},
{
"from": "validate_orders",
"to": "transform_orders"Specifications
- Nodes
- 6
- Edges
- 6
- Acyclic
- true
- Roots
- 1
- Leaves
- 1
- Longest Path
- 5
- Carries Expected Answers
- true
Testing contract
Reference control- Scenario
- Score a graph library's topological sort and path analysis against a published answer
- Expected result
- The computed topological order matches the expected array exactly, the longest path is 5 edges, and the graph reports as acyclic
What is a .json file?
JSON (JavaScript Object Notation) is a lightweight, text-based data-interchange format representing objects, arrays, strings, numbers, booleans, and null. It is language-independent, human-readable, and the dominant format for web APIs and configuration. It requires a single well-formed root value.
How to use this file
Use an example JSON file to test parsers and serializers, schema validation, Unicode and number-precision handling, and API request or response processing.
How to use this file for testing
“Pipeline DAG Topology (JSON, with Expected Answers)” is a deterministic Testaroo fixture for Graph data, Data engineering, Conversion testing. Node/edge datasets in GraphML and GEXF (directed and undirected, with attributes and weights), for testing network importers, layout tools, and graph converters.
Documented properties for this file: 6 nodes · 6 edges. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.
Code examples
import json
with open("pipeline-dag-topology.json") as f:
data = json.load(f)
print(type(data), len(data))Generated by generation/pipelines.py. Free for any use, no attribution required, license.
Related files
- pyAirflow TaskFlow API DAGA decorator-based Airflow TaskFlow DAG where dependencies are implied by function calls rather than >> operators: the shape static DAG extractors most often get wrong. Every task returns a literal, so nothing performs I/O.

- yamlArgo Workflow DAG TemplateAn Argo Workflows DAG template carrying the same six-task ETL topology as the Airflow, Graphviz and Mermaid fixtures in this category, so a converter or visualiser can be scored against one known answer across four formats.

- yamlArgo Workflow Steps TemplateArgo's steps template, whose double-nested list is a genuine parser trap: the outer list is sequential and the inner list is parallel, so a reader that flattens it reports four sequential steps instead of three groups.

- cwlCWL Scatter and Cross-ProductCWL scatter in both forms: a single-parameter scatter over an array input, and a two-parameter scatter with scatterMethod flat_crossproduct. The scatter dimensionality is what distinguishes correct CWL engines from approximate ones.

- cwlCWL Workflow (Six-Step Topology)A CWL Workflow carrying the same six-step ETL topology as the Airflow and Argo fixtures, with dependencies expressed as step output references and a multi-source input resolved by pickValue. For cross-format DAG conversion tests.

- dotGraphviz Pipeline DAGThe shared six-task ETL topology as a Graphviz digraph, with node and edge defaults, per-node attribute overrides, a same-rank constraint and C-style comments. Carries the identical graph to the Airflow, Argo, CWL and Mermaid fixtures.
