Add a fact as three parts: subject, predicate, object. Each fact gets a valid-from timestamp.
Add a contradicting fact (same subject + predicate, different object) and the old one gets superseded, not deleted.
Then ask: "what was true at <datetime>?" and the graph answers from history. This is the temporal-edge model behind Zep / Graphiti.