{"id":"knowledge-graph-rag","slug":"knowledge-graph-rag","name":"Knowledge-graph / Graph-RAG memory","shortName":"Graph RAG","problemStatement":"Build entity-relation memory so agents answer multi-hop questions better than flat vector RAG alone.","whenNotTopPick":"Weaviate hybrid already enough, Zep temporal graphs fit sessions better, or Diffbot KG extract is the input stage only.","categoryIds":["cat-vector-memory"],"depotPickProviderId":"cognee","depotPickRationale":"Confidence: medium — Cognee OSS/EU posture; confirm hosted SLA.","runnersUpIds":["weaviate","zep","diffbot"],"weights":{"capabilityFit":0.32,"pricePerformance":0.12,"latencyReliability":0.14,"developerDx":0.12,"privacyPosture":0.12,"lockInRisk":0.08,"maturity":0.1},"methodologyNotes":"Confidence: medium — Cognee OSS/EU posture; confirm hosted SLA.","tags":["graph-rag","knowledge-graph","memory"],"depth":{"whenNotToUse":{"text":"Weaviate hybrid already enough, Zep temporal graphs fit sessions better, or Diffbot KG extract is the input stage only.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"weaviate","name":"Weaviate","overallForJob":8.26,"pickOverallForJob":8.07,"beatsPickOn":["capabilityFit","latencyReliability","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":3,"runnerUpLockInRisk":3.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":["open source (provider tag `oss`)"],"runnerUpExitSignals":["open source (provider tag `oss`)"],"pickNotes":[{"text":"EU company + OSS self-host","field":"strengths"}],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Weaviate (3 vs 3.5). Pick exit signals: open source (provider tag `oss`).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":2,"sourcesReachable":2,"pricingRows":0,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"depotPick":{"id":"cognee","slug":"cognee","name":"Cognee","tagline":"Graph memory when documents→ontology matter. Zep for temporal bipartite graphs; Mem0 for simplest hosted…","overall":8.07},"runnersUp":[{"id":"weaviate","slug":"weaviate","name":"Weaviate","tagline":"Best when hybrid search and modularity matter. Cloud for convenience; self-host when lock-in anxiety spikes.","overall":8.26},{"id":"zep","slug":"zep","name":"Zep","tagline":"Pick when agents need temporal/entity graph memory, not just vector snippets. Mem0 for simpler recall.","overall":7.48},{"id":"diffbot","slug":"diffbot","name":"Diffbot","tagline":"Structured extract / KG peer. Firecrawl remains llm-ready-extract default; Diffbot when you need schema'd…","overall":7.98}]}