> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vrin.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Knowledge Graph

> How Vrin builds and queries a temporal knowledge graph from your documents

Every document you insert into Vrin contributes to a growing knowledge graph. This graph is what enables multi-hop reasoning, temporal queries, and fact-level provenance.

## What's in the Graph

The knowledge graph consists of:

* **Entities** (nodes): People, organizations, products, concepts, events, locations
* **Relationships** (edges): Typed, directional connections between entities (e.g., "CEO of", "acquired", "reported revenue")
* **Properties**: Confidence scores, temporal markers, source document references

## How It's Built

During ingestion, Vrin uses LLMs to extract structured facts from your documents:

```
Document: "Jane Smith became CEO of ACME Corp in March 2025"

Extracted:
  Entity: Jane Smith (person)
  Entity: ACME Corp (organization)
  Relationship: Jane Smith --[became_ceo_of]--> ACME Corp
  Temporal: valid_from = 2025-03
  Source: "CEO Announcement Q1 2025"
  Confidence: 0.94
```

Facts are deduplicated using content hashing. Re-ingesting the same document won't create duplicates.

## How It's Queried

When you ask a question, Vrin uses **Personalized PageRank** to traverse the graph starting from entities mentioned in your query. This enables multi-hop reasoning:

```
Query: "Who leads the company that reported the highest revenue growth?"

Traversal:
  1. Find all entities with "revenue growth" relationships
  2. Rank by growth percentage
  3. Follow "leads" / "CEO of" edges from the top entity
  4. Return: "Jane Smith, CEO of ACME Corp (23% YoY growth)"
```

This traversal is **deterministic** (not dependent on LLM attention) and **doesn't degrade** with hop count, unlike transformer-based reasoning which struggles beyond 2-3 hops.

## Temporal Awareness

Every fact in the graph can have temporal bounds:

* `valid_from`: When this fact became true
* `valid_to`: When this fact stopped being true (null = still current)

This enables queries like "Who was ACME's CEO in 2023?" even if leadership has changed since.

## Graph + Vector = Hybrid Retrieval

The knowledge graph and vector index complement each other:

| Component           | Strengths                                 | Used For                                   |
| ------------------- | ----------------------------------------- | ------------------------------------------ |
| **Knowledge Graph** | Structural reasoning, multi-hop, temporal | Finding the right entities and connections |
| **Vector Index**    | Semantic similarity, fuzzy matching       | Finding supporting text and context        |

Both results are fused before being sent to the LLM, giving it structured facts and natural-language evidence.
