clyfe / clara-eav Goto Github PK
View Code? Open in Web Editor NEWEAV triplets for Clara Rules, solving the update problem.
Home Page: https://cljdoc.org/d/clyfe/clara-eav/CURRENT
License: MIT License
EAV triplets for Clara Rules, solving the update problem.
Home Page: https://cljdoc.org/d/clyfe/clara-eav/CURRENT
License: MIT License
(er/upsert {:eav/eid -1 :some-keyword nil})
(er/upsert (clara-eav.eav/->EAV -1 :some-keyword nil))
(er/upsert [-1 :some-keyword nil])
Only one of these works.
@clyfe I've been using CoNarrative/Precept and have struggled enough with some of the design choices to the point that I've decided a re-write is needed โ then I found clara-eav! The design choices of attr-as-type, bindable state (vs global mutable state) and use of clojure.spec for DSL parsing/transform are great. I'm wondering if you're interested in adding features that make clara-eav more closely aligned with Datomic/datascript notions (they're different things, clearly, and 1:1 parity is not attainable or desirable).
The features that I'd specifically like to add would include:
I've listed the above in order of importance to me. If you're not interested in them or have concerns or thoughts about how the implementations might be done, let me know. If need be, I can fork and, if you find value, you could pull features later.
Hi,
Thanks a lot for your work!
As you may know there are some other projects which basically doing the same thing: rules engine based on datomic query api and datoms (eav, triples etc).
They are:
It would be great if you guys can merge your effort and build one datomic based rules engine.
(maybe name it Claromic
:) )
And precept
can implement only reagent specific part and factui
rum specific.
cc @alex-dixon (https://github.com/alex-dixon) @levand (https://github.com/levand)
There is also DataScript and @tonsky (https://github.com/tonsky) just received Clojurist Together support - so he will work on it next couple month. Maybe DataScript can be used as well?
Thanks!
We've put this here, but it really is unrelated to clara-eql
. If it works here, I'll make a PR.
https://github.com/eraserhd/clara-eql/blob/develop/src/net/eraserhead/clara_eql/eav_map.clj
We would like this as a mechanism to aid in debugging - inspecting the session. Zach Tellman's Potemkin has a library that allows easier creation of magic maps, and the eav-map
mentioned in #3 would make it nicely feasible.
So, we are probably going to build this regardless. Does it belong here?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.