This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-04-15
Channels
- # asami (6)
- # babashka (74)
- # babashka-sci-dev (164)
- # beginners (50)
- # biff (3)
- # calva (71)
- # clj-kondo (4)
- # cljdoc (39)
- # cljsrn (4)
- # clojars (8)
- # clojure (70)
- # clojure-austin (7)
- # clojure-czech (5)
- # clojure-europe (4)
- # clojure-losangeles (1)
- # clojure-nl (10)
- # clojure-norway (1)
- # clojure-uk (3)
- # clojurescript (38)
- # community-development (18)
- # cursive (129)
- # datomic (9)
- # fulcro (7)
- # graalvm (4)
- # improve-getting-started (1)
- # jobs (1)
- # kaocha (2)
- # liberator (9)
- # lsp (22)
- # malli (3)
- # membrane (95)
- # off-topic (86)
- # releases (2)
- # sci (5)
- # specter (2)
[:find ?e ?a ?v
:in $ [?a ...]
:where
[?e ?a ?v]
[(missing? $ ?e :simple1/match)]]
works fine
[:find ?e ?a ?v
:in $ [?a ...]
:where
[?e ?a ?v]
(or
[(missing? $ ?e :simple1/match)]
[(missing? $ ?a :simple1/match)])]
throws
> Execution error at datomic.core.datalog/compile-expr-clause (datalog.clj:1206).
> Unable to resolve symbol: $ in this context
Is there a way to make this work?✅ 1
seems to do something, but now i get > Execution error (AssertionError) at datomic.core.datalog/unifying-vars (datalog.clj:899). > Assert failed: All clauses in ‘or’ must use same set of vars, had [#{?e} #{?a}] > (apply = uvs)
thank you @U09R86PA4 🎉 that does not seem to be documented or did I miss it?
The surprising thing here is that $ isn’t always the symbol for the rule’s data source if you don’t override
👍 1
Ah found it, the overwrite part is “hidden” in the syntax description here: https://docs.datomic.com/cloud/query/query-data-reference.html#using-rule