Glossaire

Knowledge graph temporel

Un knowledge graph temporel est une structure de données où les entités (personnes, marques, concurrents, tendances) et leurs relations sont stockées dans un graphe avec un horodatage de validité (valid_from / valid_to), permettant à un agent IA de raisonner sur l'évolution des faits dans le temps sans halluciner des informations périmées.

Aussi appelé

  • knowledge graph
  • graphe de connaissances
  • temporal KG

Sans dimension temporelle, un knowledge graph dérive vite : une marque qui change de positionnement, un créateur qui pivote de niche, un concurrent qui sort du marché — tous ces événements créent des faits qui deviennent faux. Un KG sans `valid_to` continuera à propager l'ancien fait comme vérité courante.

Le pattern temporel inspiré de Graphiti (Apache-2.0) : chaque relation porte un `valid_from` (quand le fait est devenu vrai) et un `valid_to` (quand il a cessé). Quand une nouvelle observation contredit une ancienne, on ne supprime pas l'ancienne — on lui pose un `valid_to = now()`, et la nouvelle prend valid_from=now() avec valid_to=null. L'agent peut alors filtrer "uniquement les faits valides aujourd'hui" sans perdre l'historique.

L'implémentation 2026 typique : Postgres + pgvector pour les embeddings d'entités, schéma kg_entities + kg_relations avec les colonnes temporelles, recall par requête WITH RECURSIVE qui fait un BFS limité à 2 hops.

Dans le produit chatsocial.fr

chatsocial.fr maintient un KG temporel par workspace avec 8 types d'entités (brand, competitor, audience, content, trend, creator, topic, platform_account). Recall hybride embedding + 1-hop relations injecté dans le system prompt comme bloc "Contexte connu".

Questions fréquentes

  • Pourquoi pas un Neo4j classique ?

    Pour un product utilisé par 100-1000 workspaces, Postgres + pgvector est plus simple à opérer (une seule base, RLS native, sauvegardes triviales). Neo4j devient pertinent quand on dépasse plusieurs millions d'entités par tenant.

  • Que se passe-t-il si un fait est partiellement contredit ?

    L'extracteur peut créer plusieurs relations avec confidence différenciée. L'arbitrage final est délégué à un re-ranker au moment du recall, qui pondère par confidence × récence.