Skip to content

Knowledge Graphs

TeamLoop builds a temporal knowledge graph from your enterprise tools. Unlike flat document stores, knowledge graphs capture relationships, enabling rich queries and synthesis.

A knowledge graph consists of:

  • Entities - Things you know about (decisions, people, systems)
  • Relationships - How entities connect to each other
  • Embeddings - Vector representations for semantic search
  • Temporal metadata - When knowledge was valid

TeamLoop supports six core entity types:

Architectural choices, policy changes, technology selections.

Fields:

  • name - The decision title
  • description - What was decided
  • rationale - Why this choice was made
  • alternatives - Other options considered
  • status - active, superseded, proposed
  • event_date - When the decision was made

PRDs, ADRs, specs, meeting notes, wiki pages.

Fields:

  • name - Document title
  • description - Summary or excerpt
  • source_url - Link to original
  • event_date - Last modified date

Code commits, configuration changes, status updates.

Fields:

  • name - Change description
  • description - Details of the change
  • change_type - commit, field_update, status_change
  • event_date - When the change occurred

Team members, authors, decision makers.

Fields:

  • name - Person’s name
  • description - Role or title

Initiatives, features, workstreams.

Fields:

  • name - Project name
  • description - Project overview
  • status - active, completed, archived

Systems, services, modules, infrastructure.

Fields:

  • name - Component name
  • description - What it does

Entities connect through typed relationships:

TypeDescriptionExample
DECIDED_BYWho made a decisionDecision → Person
AUTHORED_BYWho wrote a documentDocument → Person
PART_OFComponent hierarchyChange → Document
RELATES_TOGeneral associationDecision → Component
SUPERSEDESDecision lineageNew Decision → Old Decision
DEPENDS_ONDependency chainComponent → Component
IMPLEMENTSDecision realizationComponent → Decision

The SUPERSEDES relationship is special - it tracks decision evolution. Query this chain with teamloop_timeline using entity_id.

When you query with teamloop_query, results include extraction instructions. Claude will suggest entities to create.

Use teamloop_save_knowledge to explicitly create entities and relationships. Embeddings for all entities in a save operation are generated in a single batch call for efficiency.

All entities are embedded for semantic search:

  • Queries match by meaning, not just keywords
  • “database” finds “PostgreSQL”, “MySQL”, “data storage”
  • Similarity scores rank results

Every entity tracks time:

FieldDescription
event_dateWhen the event occurred (from source)
created_atWhen added to TeamLoop
updated_atLast modification
valid_fromStart of validity window
valid_toEnd of validity (for superseded)

This enables:

  • Point-in-time queries (as_of)
  • Evolution tracking (from_date to to_date)
  • Comparison (date_a vs date_b)

Critical for temporal queries!

Include source_url, source_integration, and source_external_id for traceability.

Isolated entities are less useful. Connect them with typed relationships.

  • DECISION for choices, not documents
  • DOCUMENT for artifacts, not decisions within them
  • CHANGE for modifications, not new entities