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 Novus Examples 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))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.

Generated by generation/pipelines.py. Free for any use, no attribution required — license.