Overview
Knowledge graphs provide a structured representation of entities and the relationships between them. While the Knowledge Base stores unstructured text for semantic retrieval, knowledge graphs organize information as nodes (entities) and edges (relationships), enabling precise traversal, reasoning, and complex question answering that text search alone cannot achieve.Why Knowledge Graphs?
- vs. Vector Search
- Use Cases
| Capability | Vector Search | Knowledge Graphs |
|---|---|---|
| Finding similar content | Excellent | Not designed for this |
| Answering “What is X?” | Good | Good |
| Answering “How is X related to Y?” | Limited | Excellent |
| Multi-hop traversal | Requires multi-hop RAG | Native graph traversal |
| Temporal reasoning | Difficult | Supported with temporal properties |
| Data consistency | Approximate (embedding similarity) | Exact (structured relationships) |
Core Concepts
Entities
Entities are the nodes in a knowledge graph. Each entity has a type, a unique identifier, and a set of properties.Relationships
Relationships are the directed edges that connect entities. Each relationship has a type, a source entity, a target entity, and optional properties.Ontology
An ontology defines the schema of a knowledge graph: what entity types exist, what relationship types are allowed, and what properties each can have. Nadoo AI supports RDF/OWL ontologies for formal schema definition. Learn more about ontology managementArchitecture
Graph Stores
Nadoo AI supports three graph store backends, selectable based on your infrastructure and scale requirements.Neo4j
A native graph database optimized for traversal-heavy workloads.- Best for: Complex graph queries with deep traversals (5+ hops)
- Query language: Cypher (native) + SPARQL (via adapter)
- Scale: Billions of nodes and relationships
- Deployment: Self-hosted or Neo4j AuraDB
PostgreSQL
Uses PostgreSQL with graph query extensions. Shares the same database instance as the rest of the platform.- Best for: Smaller graphs where operational simplicity is a priority
- Query language: SPARQL (via query translation)
- Scale: Millions of nodes and relationships
- Deployment: Uses the existing platform PostgreSQL instance
Apache Jena
A Java-based RDF framework with full SPARQL 1.1 support and OWL reasoning.- Best for: Deployments that require standards-compliant RDF/OWL reasoning
- Query language: SPARQL 1.1 (native)
- Scale: Hundreds of millions of triples
- Deployment: Self-hosted TDB2 or Fuseki server
Entity Extraction from Documents
Knowledge graphs can be populated automatically by extracting entities and relationships from your uploaded documents.Extraction Pipeline
Named Entity Recognition
An NLP model identifies entities in the document text: people, organizations, services, products, locations, dates, and custom entity types defined in your ontology.
Relationship Extraction
A second model (or the same LLM in a single pass) identifies relationships between detected entities. For example, from “The Platform Security team built the Authentication Service in March 2024”, the system extracts:
- Entity:
Platform Security(Team) - Entity:
Authentication Service(Service) - Relationship:
Platform Security—BUILT—>Authentication Service - Property:
date: 2024-03
Ontology Validation
Extracted entities and relationships are validated against the knowledge graph’s ontology. Invalid types or relationships are flagged for manual review.