Graph Model

Neo4j data model and relationships

Overview

Polaris uses Neo4j, a graph database, to model the relationships between technologies, systems, teams, and version constraints. This enables powerful queries about technology usage and compliance.

Graph Visualization

Core Nodes

Technology
Approved technologies with versions and metadata
System
Deployable applications and services
Component
SBOM entries (libraries, packages)
Team
Organizational teams
VersionConstraint
Version range constraints for technologies
License
Software licenses
Version
Specific versions of technologies
Repository
Source code repositories
AuditLog
Change tracking entries

Key Relationships

Team stewards TechnologySTEWARDED_BY

Technical governance responsibility

Team owns SystemOWNS

Operational ownership

Team uses TechnologyUSES

Actual technology usage by a team

Team approves Technology or VersionAPPROVES

TIME framework approval

Team maintains RepositoryMAINTAINS

Repository maintenance responsibility

Technology has VersionHAS_VERSION

Version tracking per technology

Component is version of TechnologyIS_VERSION_OF

Component to technology mapping

System uses ComponentUSES

System dependency on a component. Carries scope (runtime, required, dev, optional, excluded, or null) and isDirect (true for root-level deps, false for transitive). Scope and isDirect are computed by BFS propagation at ingest time.

System has source in RepositoryHAS_SOURCE_IN

Source code location

VersionConstraint governs TechnologyGOVERNS

Constraint scope

AuditLog performed by UserPERFORMED_BY

Who made the change

AuditLog audits EntityAUDITS

What was changed

Query Examples

Find all systems using a deprecated technology
List teams affected by a license rule change
Trace component dependencies across systems
Identify compliance violations
Track all changes made by a specific user
Find all direct runtime dependencies of a system
Find all systems that use a component at runtime vs. dev-only