datalog

mauricio.szabo 2020-08-25T04:04:57.005500Z

I really like the bitemporality of crux, but like the way datomic is organized (in datoms). Why isn't is a database that could have both? 😄

👍 4
refset 2020-08-25T11:33:18.006200Z

we are unlikely to ship anything in the near future...but it's definitely already possible to build your own datoms implementation 🙂 https://gist.github.com/refset/a00be06443bc03ccc84a2874af3cdb8a (sorry I don't have a directly usable sample to offer, but I'd be happy to provide more context if there's interest)

👍 1
marciol 2020-08-25T17:13:29.006900Z

yes, I have the same feeling as expressed by @mauricio.szabo. I know of the set of trade-offs choose by the Crux team

mauricio.szabo 2020-08-27T17:02:39.027Z

@taylor.jeremydavid can you elaborate on that? I'm looking at your gist right now, but I'm not sure how to use these functions. I did try to transact [[:crux.tx/fn :add ...lots-of-combinations-here..]] but nothing worked 😞

mauricio.szabo 2020-08-27T17:11:07.027200Z

Wait, nevermind: found out my error. It's [[:crux.tx/fn :add :attribute "Value"]]. I was also missing a schema, so changing attributes were becoming sets 😄

refset 2020-08-27T17:21:01.027400Z

oh! right, yeah that'll do it 😁

refset 2020-08-27T17:21:42.027600Z

this was my schema I was using whilst testing that;

{:crux.db/id :schema
    :some/att {:crux.db/cardinality :crux.db.cardinality/one}
    :ref/att {:crux.db/cardinality :crux.db.cardinality/one
              :crux.db/value-type :crux.db.type/ref}}