Skip to content
Graph docs1.0

Data lineage graph

Latest stable Based on Graph release 1.0.0

This example follows upstream sources and downstream impact across datasets, jobs, and reports. It uses TinkerGraph to isolate modeling from container and network variance. Read core model and TinkerPop first; use the selection guide before production.

  • Nodes: Dataset/Table/Column/PipelineJob/Dashboard/Owner/QualityCheck
  • Edges: CONTAINS_TABLE/CONTAINS_COLUMN/INPUT_TO_JOB/OUTPUTS_TABLE/FEEDS_DASHBOARD/OWNS_JOB/VALIDATES_COLUMN
  • Key properties: datasetId, tableId, columnId, jobId, dashboardId, ownerId, checkId

Use JDK 21, commit a405300799b36d4d6edb7267ad07ff34d4ad3afe, and the checked-in wrapper. Examples are not published; run this release fixture as a Gradle project from the release source checkout. In a consumer application, select only bluetape4k-dependencies:<ecosystem-version> and add the required graph module without an individual version.

Terminal window
./gradlew :data-lineage-examples:test --tests "io.bluetape4k.graph.examples.datalineage.TinkerGraphDataLineageImpactTest"

The test asserts that downstream impact reaches exec-revenue and ops-quality and that upstream traversal finds the expected source tables. A failure points first to lineage direction, missing transformation edges, or a changed traversal bound.

  1. Schema
  2. Service
  3. Shared executable contract
  4. Concrete TinkerGraph test
  5. Build file

Continue from observability-graph, then read supply-chain-graph. Also see paired APIs, testing, and operations.

Add one result-changing edge and assertion; repeat through the suspend API; then run a persistent-backend concrete test serially. Add disconnected and malformed inputs as diagnostics. This fixture does not prove throughput, clustering, authorization, tenant isolation, migration, backup, remote-driver timeout, or index quality.