Skip to main content

Lineage Graphs

parentHashes connect Blocks into a directed graph, specifically a directed derivation graph. Each Block declares direct relationships to parent Blocks, allowing applications and intelligent systems to traverse structural lineage across related artifacts.

When the required Block data is available, a derivation graph can be validated for structural completeness, missing references, self-references, duplicate parent relationships, and cycles.

Graph Validation

A Block can be valid independently while the surrounding derivation graph is incomplete or structurally invalid.

For example, a Block may reference a parent that is not available in the evaluated Block set, or a collection of otherwise valid Blocks may contain relationships that form a cycle.

Graph validation evaluates these structural properties before an application relies on the available lineage.

Validation and Traversal

Check structural properties across the evaluated Block set.

validateGraph() checks for:

  • Self-references
  • Duplicate parent relationships
  • Missing parent Blocks
  • Cycles

A valid individual Block does not establish a complete or valid surrounding graph.

Partial Graphs

Applications do not always have access to every Block referenced by a derivation graph.

validateGraph() reports unresolved parent references as missing. When an application intentionally loads only part of a graph, treat the result as incomplete lineage rather than assuming the missing Blocks do not exist.

Graph completeness therefore describes the available Block set being evaluated, not the existence of Blocks across all applications, storage systems, or infrastructure.

When to Use Graph Operations

Use graph validation and traversal when an application needs to inspect relationships across a collection of Blocks.

Typical operations include validating available lineage before downstream processing, retrieving prior Blocks as context, tracing multi-step workflows, identifying roots and ancestors, and analyzing the structure of a derivation graph.