From the post:
It is a key value proposition of Datomic that you can tell not only what you know, but how you came to know it. When you add a fact:
conn.transact(list(":db/add", 42, ":firstName", "John"));
Datomic does more than merely record that
42‘s first name is “
John“. Each datom is also associated with a transaction entity, which records the moment (
:db/txInstant) the datom was recorded.
Given this information model, it is easy to see that Datomic can support queries that tell you:
- what you know now
- what you knew at some point in the past
- how and when you came to know any particular datom
So far so good, but there is a fly in the ointment. In certain situations you may be forced to excise data, pulling it out root and branch and forgetting that you ever knew it. This may happen if you store data that must comply with privacy or IP laws, or you may have a regulatory requirement to keep records for seven years and then “shred” them. For these scenarios, Datomic provides excision.
One approach to the unanswered question of what does it means to delete something from a topic map?
Especially interesting because you can play with the answer that Datomic provides.
Doesn’t address the issue of what it means to delete a topic that has caused other topics to merge.
I first saw this in Christophe Lalanne’s A bag of tweets / May 2013.