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

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