Graphviz Pipeline Graph with a Cycle
The same topology plus one back edge, so the graph is deliberately not a DAG. A renderer must still draw it and a scheduler must reject it, which is why this is a reference fixture rather than a corrupt file.
/* INTENTIONALLY CYCLIC. The same topology plus a back edge from notify_owner to ingest_orders.
A pipeline scheduler must reject this; a graph renderer must still draw it, which is what
makes it useful as a reference rather than as a corrupt file. */
digraph orders_etl_cyclic {
rankdir = LR;
node [shape = box, style = rounded];
ingest_orders -> validate_orders;
validate_orders -> transform_orders;
transform_orders -> load_warehouse;
transform_orders -> refresh_dashboard;
load_warehouse -> notify_owner;
refresh_dashboard -> notify_owner;
/* the back edge that makes this not a DAG */
notify_owner -> ingest_orders [color = "#dc2626", style = dashed, label = "back edge"];
}
Specifications
- Format
- Graphviz DOT
- Type
- digraph
- Nodes
- 6
- Edges
- 7
- Acyclic
- false
- Back Edge
- notify_owner -> ingest_orders
Testing contract
Reference control- Scenario
- Detect a cycle in a DOT digraph that a renderer will still happily draw
- Expected result
- Cycle detection reports the notify_owner to ingest_orders back edge, while DOT parsing itself succeeds with 7 edges
What is a .dot file?
A DOT file is a Graphviz graph described in the DOT language (nodes, edges, and attributes as plain text) which Graphviz lays out and renders to an image. It is a standard way to define directed and undirected graphs as code.
How to use this file
Use an example DOT file to test Graphviz rendering, DOT parsing, and DOT-to-SVG/PNG conversion.
How to use this file for testing
“Graphviz Pipeline Graph with a Cycle” 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 · 7 edges · Graphviz DOT. 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.
Generated by generation/pipelines.py. Free for any use, no attribution required, license.
Related files
- 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.

- mmdMermaid Deployment State DiagramA Mermaid stateDiagram-v2 describing environment promotion with canary and rollback transitions, start and end pseudostates, and a note block. A second Mermaid diagram type, so a renderer is not only tested on flowcharts.

- mmdMermaid Pipeline FlowchartThe shared six-task ETL topology as a Mermaid flowchart, with mixed node shapes, a subgraph, a classDef and %% comments. The Mermaid twin of the Graphviz fixture, for scoring diagram-format converters against one known answer.

- pyAirflow DAG Definition (Operator Style)An Airflow DAG definition in the classic operator style, using only the no-op EmptyOperator so the file describes a topology and performs no work. Carries the six-task ETL graph shared across the Airflow JSON, Argo, Graphviz and Mermaid fixtures.

- 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.

- jsonAirflow-Shaped Serialized DAG (JSON)The serialized-DAG shape Airflow stores in its metadata database, as standalone JSON: per-task metadata with explicit downstream_task_ids. Carries the same six-task topology as the Python, Argo, Graphviz and Mermaid fixtures.
