Directed Acyclic Pipeline - GraphML
A 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.
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<key id="label" for="node" attr.name="label" attr.type="string"/>
<key id="weight" for="edge" attr.name="weight" attr.type="double"/>
<graph id="dag" edgedefault="directed">
<node id="ingest"><data key="label">ingest</data></node>
<node id="normalize"><data key="label">normalize</data></node>
<node id="validate"><data key="label">validate</data></node>
<node id="index"><data key="label">index</data></node>
<node id="notify"><data key="label">notify</data></node>
<node id="archive"><data key="label">archive</data></node>
<edge id="e0" source="ingest" target="normalize"><data key="weight">1.0</data></edge>
<edge id="e1" source="ingest" target="validate"><data key="weight">1.0</data></edge>
<edge id="e2" source="normalize" target="index"><data key="weight">1.0</data></edge>
<edge id="e3" source="validate" target="index"><data key="weight">1.0</data></edge>
<edge id="e4" source="index" target="notify"><data key="weight">1.0</data></edge>
<edge id="e5" source="index" target="archive"><data key="weight">1.0</data></edge>
<edge id="e6" source="notify" target="archive"><data key="weight">1.0</data></edge>
</graph>
</graphml>
Specifications
- Graph Format
- GraphML
- Nodes
- 6
- Edges
- 7
- Directed
- true
- Multigraph
- false
- Weak Components
- 1
- Contains Cycle
- false
- Weight Sum
- 7
- Topological Order
- ingest -> normalize -> validate -> index -> notify -> archive
Testing contract
Expected to pass- Scenario
- Import the GraphML member and compare graph algorithms and edge identity with the other two representations.
- Expected result
- Import 6 nodes and 7 edges; preserve 1 weak component(s), cycle=false, weight sum=7.0, topological result=ingest -> normalize -> validate -> index -> notify -> archive.
What is a .graphml file?
GraphML is an XML-based format for describing graphs — nodes, edges, and typed attributes (keys) on either. It supports directed and undirected graphs, and is widely read by network tools such as Gephi, NetworkX, and yEd. Being plain XML, it is human-readable and easy to transform.
How to use this file
Use an example GraphML file to test graph and network importers, layout tools, and converters between GraphML, GEXF, and adjacency formats, or to verify that node and edge attributes survive a round-trip.
How to use this file for testing
“Directed Acyclic Pipeline - GraphML” 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: 6 nodes · 7 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_graphml("dag.graphml")
print(G.number_of_nodes(), "nodes", G.number_of_edges(), "edges")Related files
- gexfDirected Dependency Cycle - GEXF 1.3A 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.

- graphmlDirected Dependency Cycle - GraphMLA four-service directed cycle whose only valid topological result is failure, for dependency-analysis regression tests. This GraphML member carries the same node IDs, edge IDs, directions and weights as its two format twins.

- jsonDirected Dependency Cycle - JSON edge listA four-service directed cycle whose only valid topological result is failure, for dependency-analysis regression tests. 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.