Fork me on GitHub
#crux
<
2020-03-03
>
jarohen13:03:56

welcome Abdullah 👋

abdullahibra13:03:26

i just know about Crux, is it supposed to be a free alternative to Datomic?

abdullahibra13:03:11

there is something i'm thinking about i would like to share here with the developers of Crux, is it possible to add sparql engine to execute sparql queries?

abdullahibra13:03:22

i guess that will be a good win for Crux

jarohen13:03:36

the short answer is that 'Crux is an open-source, bitemporal, unbundled database that you can query using Datalog syntax' 🙂 'bitemporal' because you've got the option to edit the past as and when new information becomes available - you can ask both 'what do we know about the status of <x> at the start of the year?' (including later updates) and 'what did we know about <x> at that time?' (excluding updates, for audit purposes) 'unbundled' because we give users the choice of what underlying technologies to use - the transaction log, for example, can live on Kafka, in a JDBC database, or in memory; the indices can live in RocksDB or other kv-stores - we take advantage of their performance and reliability characteristics. best to have a look at the architecture diagram on https://github.com/juxt/crux#unbundled-architecture for this one re SPARQL - we do have some alpha-level support for SPARQL queries in the crux-rdf module, which translates a subset of SPARQL into Crux's datalog - would be interested to hear your ideas 🙂

abdullahibra13:03:45

for definition of bitemporal you mean i can use it as timeseries db ?

jarohen13:03:32

at the moment we support point-in-time queries, but we're looking into how best to extend this to timeseries queries

abdullahibra13:03:43

so i can only save the value with only one point-in-time ?

jarohen13:03:18

you can get the history of a single entity through time, certainly - what we don't yet support is being able to see the results of a query through time (without querying at each individual point in time)

🎉 1
abdullahibra13:03:46

what is possible here is : x is_a 2 at 1/1/2020 x is_a 3 at 2/1/2020 x is_a 4 at 3/1/2020

abdullahibra13:03:06

subject is x , predicate is is_a, and the object is the multiple values so what i can achieve is save multiple values of object in time

abdullahibra13:03:09

is that possible ?

abdullahibra13:03:13

but only one object value should be active, and all other will be defined as history values of x in time

jarohen13:03:49

yep, that's correct

abdullahibra14:03:00

@jarohen thank you so much 🙂

jarohen14:03:08

you're welcome 🙂