Fork me on GitHub

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 reportedly combines Fulcro and Datahike but not sure how relevant it is


I’ll take a look thanks


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: 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:


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


doesn't support recursion


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: 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


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.


See #announcements for a few release-related things.