Skip to main content

VegaGraph data model

VegaGraph separates stable resource identity from reusable facts and connections. That keeps entity rows thin while allowing different resource types to share governance, ownership, observability, and lifecycle metadata.

Types

Entity type

An entity type defines the identity/display fields accepted when an entity is created or updated. Examples in the built-in catalog include tables, services, repositories, APIs, dashboards, KPIs, clusters, and policies.

Aspect type

An aspect type owns a strict JSON Schema for one reusable fact set, such as description, ownership, classification, runtime, data quality, cost, or source provenance. Entity types bind the aspect types they support.

Relationship type

A relationship type defines valid source and target entity types, endpoint granularity, metadata schema, cardinality, acyclic behavior, and transitivity. Examples include depends_on, reads_from, writes_to, owns, and runs_on.

Instances

  • An entity carries tenant scope, type, identity, display data, and a fully qualified name.
  • An aspect attaches validated JSON data to an entity and retains versions.
  • An edge instantiates a relationship between entity or field-reference endpoints.
  • A field reference identifies a nested field, such as a table column, for field-level lineage.
  • An alias provides another qualified identifier for discovery.
  • A label classifies an entity through a managed assignment.

Context and hierarchy

Contexts form a hierarchy and can resolve environment-specific overlays. Entity hierarchy separately models parent/child resource structure and path lookup. Do not confuse either with arbitrary relationship traversal.

Validation

Writes are validated against entity, aspect, and relationship schemas. Endpoint constraints, cardinality, and acyclic rules prevent invalid graph shapes. Collection and instance permissions remain scoped to the organization and workspace. Secret values are references only; store a secret-system reference in metadata, never the credential itself.