Skip to main content
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:
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:
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: Both results are fused before being sent to the LLM, giving it structured facts and natural-language evidence.