Ich folge dem Tutorial, http://www.datomic.com/company/resources/tutorial, aber ich denke, ich vermisse ein einfaches Teil des Puzzles, wie Datomic das Zeitmodell zugreifen kann.Wie bekomme ich in Datomic eine Zeitleistenansicht der Änderungen an den Werten einer bestimmten Entität?
Wenn ich eine Reihe von Erweiterungen und zieht
;; DO a series of transactions
;; (transact conn [:db/add entity-id attribute value0])
(use 'datomic.api)
(dir datomic.api)
(def conn (connect "datomic:dev://localhost:4334/demo"))
(transact conn '[:db/add 2000 :db/doc "Hello There"])
(q '[:find ?e ?n :where [?e :db/doc ?n] [(= 2000 ?e)]] (db conn))
; => <HashSet [[2000 "Hello There"]]>
(transact conn '[:db/add 2000 :db/doc "Hello There 1"])
(q '[:find ?e ?n :where [?e :db/doc ?n] [(= 2000 ?e)]] (db conn))
; => <HashSet [[2000 "Hello There 1"]]>
(transact conn '[:db/add 2000 :db/doc "Hello There 2"])
(q '[:find ?e ?n :where [?e :db/doc ?n] [(= 2000 ?e)]] (db conn))
; => <HashSet [[2000 "Hello There 2"]]>
(transact conn '[:db/add 2000 :db/doc "Hello There 3"])
(q '[:find ?e ?n :where [?e :db/doc ?n] [(= 2000 ?e)]] (db conn))
; => <HashSet [[2000 "Hello There 3"]]>
Wie ist es möglich, eine Reihe von Änderungen des Wertes an zu erhalten (Einheit 2000 Attribute: db/doc)?
Ich möchte etwas im Format
[ [Transaction Number, Time, Value] .... [Transaction Number, Time, Value]]
Zum Beispiel bekommen:
[ [T1, "2012-March-16-9:30:12", "Hello There"]
....
....
....
[T27, "2012-June-14-9:54:38", "Hello There 3"] ]
Es kann nicht so schwierig sein, aber es gibt eine Menge: db interne Parameter, die ich bin nicht vertraut mit.
cool ... wird ein Spiel mit diesem haben =) – zcaudate