Skip to content
Novus Examples
json1.6 KB

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.

Preview — first 50 linesjson
{
  "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"
89 lines total — download for the full file.

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

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