Directed Dependency Cycle - GEXF 1.3
A four-service directed cycle whose only valid topological result is failure, for dependency-analysis regression tests. This GEXF 1.3 member carries the same node IDs, edge IDs, directions and weights as its two format twins.
<?xml version="1.0" encoding="UTF-8"?>
<gexf xmlns="http://gexf.net/1.3" version="1.3">
<meta lastmodifieddate="2026-07-31"><creator>Novus Examples</creator></meta>
<graph mode="static" defaultedgetype="directed">
<nodes>
<node id="api" label="api"/>
<node id="billing" label="billing"/>
<node id="ledger" label="ledger"/>
<node id="reporting" label="reporting"/>
</nodes>
<edges>
<edge id="e0" source="api" target="billing" weight="1.0"/>
<edge id="e1" source="billing" target="ledger" weight="1.0"/>
<edge id="e2" source="ledger" target="reporting" weight="1.0"/>
<edge id="e3" source="reporting" target="api" weight="1.0"/>
</edges>
</graph>
</gexf>
Specifications
- Graph Format
- GEXF 1.3
- Nodes
- 4
- Edges
- 4
- Directed
- true
- Multigraph
- false
- Weak Components
- 1
- Contains Cycle
- true
- Weight Sum
- 4
- Topological Order
- none (cycle detected)
Testing contract
Expected to pass- Scenario
- Import the GEXF 1.3 member and compare graph algorithms and edge identity with the other two representations.
- Expected result
- Import 4 nodes and 4 edges; preserve 1 weak component(s), cycle=true, weight sum=4.0, topological result=none (cycle detected).
What is a .gexf file?
GEXF (Graph Exchange XML Format) is an XML format for graphs created for the Gephi network-analysis tool. It describes nodes and edges with attributes and also supports dynamic (time-evolving) graphs and visual properties like position and colour. It is a common interchange format alongside GraphML.
How to use this file
Use an example GEXF file to test network importers and visualisers (especially Gephi), and converters between GEXF and GraphML, or to check that node/edge attributes and weights are parsed correctly.
How to use this file for testing
“Directed Dependency Cycle - GEXF 1.3” 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 · 4 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 networkx as nx # pip install networkx
G = nx.read_gexf("directed-cycle.gexf")
print(G.number_of_nodes(), "nodes", G.number_of_edges(), "edges")Related files
- gexfDirected Acyclic Pipeline - GEXF 1.3A six-stage software pipeline DAG for testing dependency import, cycle checks and reproducible topological sorting. This GEXF 1.3 member carries the same node IDs, edge IDs, directions and weights as its two format twins.

- graphmlDirected Acyclic Pipeline - GraphMLA six-stage software pipeline DAG for testing dependency import, cycle checks and reproducible topological sorting. This GraphML member carries the same node IDs, edge IDs, directions and weights as its two format twins.

- jsonDirected Acyclic Pipeline - JSON edge listA six-stage software pipeline DAG for testing dependency import, cycle checks and reproducible topological sorting. This JSON edge list member carries the same node IDs, edge IDs, directions and weights as its two format twins.

- gexfDisconnected Directed Graph - GEXF 1.3A directed graph with two linked islands and one isolated node, designed for weak-component and isolated-node tests. This GEXF 1.3 member carries the same node IDs, edge IDs, directions and weights as its two format twins.

- graphmlDisconnected Directed Graph - GraphMLA directed graph with two linked islands and one isolated node, designed for weak-component and isolated-node tests. This GraphML member carries the same node IDs, edge IDs, directions and weights as its two format twins.

- jsonDisconnected Directed Graph - JSON edge listA directed graph with two linked islands and one isolated node, designed for weak-component and isolated-node tests. This JSON edge list member carries the same node IDs, edge IDs, directions and weights as its two format twins.

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