Skip to content
Novus Examples
json1.1 KB

Weighted Directed Multigraph - JSON edge list

A weighted acyclic multigraph with two parallel source-to-router edges, checking multiplicity and floating-point weight preservation. This JSON edge list member carries the same node IDs, edge IDs, directions and weights as its two format twins.

Preview — first 50 linesjson
{
  "directed": true,
  "multigraph": true,
  "nodes": [
    {
      "id": "source",
      "label": "source"
    },
    {
      "id": "router",
      "label": "router"
    },
    {
      "id": "cache",
      "label": "cache"
    },
    {
      "id": "sink",
      "label": "sink"
    }
  ],
  "edges": [
    {
      "id": "e0",
      "source": "source",
      "target": "router",
      "weight": 0.6
    },
    {
      "id": "e1",
      "source": "source",
      "target": "router",
      "weight": 1.4
    },
    {
      "id": "e2",
      "source": "source",
      "target": "cache",
      "weight": 0.5
    },
    {
      "id": "e3",
      "source": "router",
      "target": "cache",
      "weight": 0.8
    },
    {
      "id": "e4",
      "source": "router",
      "target": "sink",
72 lines total — download for the full file.

Specifications

Graph Format
JSON edge list
Nodes
4
Edges
6
Directed
true
Multigraph
true
Weak Components
1
Contains Cycle
false
Weight Sum
5.4
Topological Order
source -> router -> cache -> sink

Testing contract

Expected to pass
Scenario
Import the JSON edge list member and compare graph algorithms and edge identity with the other two representations.
Expected result
Import 4 nodes and 6 edges; preserve 1 weak component(s), cycle=false, weight sum=5.4, topological result=source -> router -> cache -> sink.

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

“Weighted Directed Multigraph - JSON edge list” is a deterministic Novus Examples fixture for Graph data, Conversion testing, Data import. 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: 4 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.

Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Code examples

import json

with open("weighted-multigraph.json") as f:
    data = json.load(f)
print(type(data), len(data))

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