This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-11-28
Channels
- # adventofcode (4)
- # announcements (1)
- # babashka (4)
- # beginners (23)
- # calva (15)
- # cider (8)
- # clj-kondo (30)
- # cljsrn (1)
- # clojure (29)
- # clojure-europe (15)
- # clojure-uk (2)
- # clojurescript (10)
- # community-development (4)
- # cryogen (3)
- # cursive (4)
- # emacs (3)
- # figwheel-main (2)
- # fulcro (13)
- # jobs-discuss (1)
- # kaocha (1)
- # luminus (1)
- # meander (2)
- # off-topic (78)
- # pathom (2)
- # reagent (13)
- # rewrite-clj (56)
- # ring-swagger (2)
- # tools-deps (15)
- # vim (3)
Hm, I am looking at a number of datalog options other than Datomic and they seem to be mostly focused on the normal query syntax (not the pull syntax that is used by EQL). Is there a library or something that is capable of transforming EQL to datalog queries?
This https://github.com/replikativ/datahike-frontend reportedly combines Fulcro and Datahike but not sure how relevant it is
I’ll take a look thanks
https://opencrux.com/reference/queries.html#eql-projection Maybe this can help
so crux can do it, as long as I generate the query for the root….
I think of pathom as an alternative to needing to write pull syntax queries yourself - it handles the nested traversal. If you need inspiration, here's a sample repo: https://github.com/souenzzo/graph-demo that being said, I do have a few use cases using crux where I need to use pull queries (using recursion), for that you can use client libraries like this: https://github.com/dvingo/my-clj-utils/blob/master/src/main/dv/crux_pull.clj
@U051V5LLP the new crux alpha eql/project
is not sufficient for you?
recursion's coming in the upcoming release :) personally I'm leery about using entities instead of logical ID values as edges, so I can't use project/pull. Not sure if that's going to pay off but keeping the data model separate from the operational model seems prima facie prudent
there's some other pull feature not available yet as well as recursion: https://github.com/juxt/crux/issues/1220 I don't understand. Where do you see entities being used as edges?
the eql join requires that the value of the attribute you're joining on is a crux.db/id of some other doc