clara

http://www.clara-rules.org/
alex-dixon 2018-07-18T17:15:37.000312Z

@hiredman thanks! The readme says in memory only but plans for persistence with an rdf triple store or graph database. I’ll look into it more

alex-dixon 2018-07-18T17:22:54.000066Z

@wparker That was poorly phrased but basically yeah. More specifically I’m trying to figure out whether Clara or rete in general could be implemented as a hybrid in memory and persistent db like Datomic that uses rete for in memory processing as well as for querying persistent data that can never fit into memory.

alex-dixon 2018-07-18T17:24:28.000158Z

Having rules writing to persistent storage would be key too

2018-07-18T22:34:56.000005Z

@alex-dixon seems doable

2018-07-18T22:35:13.000079Z

but not without a bunch of effort if you were going to try to implement a memory that works well/performant doing that

2018-07-18T22:35:47.000165Z

Long ago, Ryan did an example storm cluster-based Clara impl of memory. it was experimental but did show how memory could be extended potentially

alex-dixon 2018-07-18T22:38:03.000245Z

Thanks. Yeah I’ve been looking at that. It’s not clear to me what’s going on there. Best I could figure out is storm is doing a lot of the work

2018-07-18T22:39:43.000116Z

yeah, it’d require storm understanding I’m sure

2018-07-18T22:39:48.000179Z

and it isn’t really the same thing

2018-07-18T22:40:36.000018Z

You could certainly try to hook a memory impl up to have facts potentially in slower storage, you’d just have to deal with that serialization stuff and also the concern of how to make it not super slow

2018-07-18T22:40:47.000234Z

also, accumulators are an issue

2018-07-18T22:41:13.000232Z

if you are dealing in numbers of facts too large for memory, but then you try to do an accumulator that needs to see them all at once

2018-07-18T22:42:07.000205Z

I watched the naga talk before too. It was interesting. It seemed a bit more special-purposed than Clara, but still cool to think about

alex-dixon 2018-07-18T22:46:06.000221Z

I’m thinking of using RocksDB specifically https://github.com/facebook/rocksdb/wiki/Performance-Benchmarks

2018-07-18T23:26:03.000255Z

never saw that one

2018-07-18T23:26:16.000069Z

looks like it could be interesting to experiment with the idea though

👍 1