Fork me on GitHub
#fulcro
<
2020-11-28
>
roklenarcic18:11:41

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?

Jakub Holý (HolyJak)20:11:48

This https://github.com/replikativ/datahike-frontend reportedly combines Fulcro and Datahike but not sure how relevant it is

roklenarcic21:11:00

I’ll take a look thanks

roklenarcic13:11:38

so crux can do it, as long as I generate the query for the root….

dvingo16:11:22

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

bbss02:11:58

@U051V5LLP the new crux alpha eql/project is not sufficient for you?

dvingo02:11:03

doesn't support recursion

nivekuil02:11:12

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

dvingo03:11:14

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?

nivekuil03:11:39

the eql join requires that the value of the attribute you're joining on is a crux.db/id of some other doc

dvingo12:11:22

ah I see - yes I agree. I have currently landed on using idents for all refs within crux [:user/id #uuid ".."] but the user doc would have the crux.db/id of just the uuid so I also can't use project because of that currently.

tony.kay20:11:45

See #announcements for a few release-related things.