This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-10-09
Channels
- # announcements (1)
- # aws (2)
- # babashka (3)
- # beginners (39)
- # calva (6)
- # chlorine-clover (20)
- # cider (9)
- # clojure (105)
- # clojure-australia (1)
- # clojure-europe (64)
- # clojure-france (2)
- # clojure-gamedev (2)
- # clojure-nl (10)
- # clojure-provo (1)
- # clojure-uk (21)
- # clojuredesign-podcast (1)
- # clojurescript (77)
- # clojurewerkz (2)
- # clojutre (1)
- # community-development (4)
- # conjure (13)
- # data-science (6)
- # datascript (10)
- # datomic (37)
- # fulcro (33)
- # graphql (23)
- # jobs (1)
- # luminus (2)
- # malli (12)
- # meander (2)
- # off-topic (42)
- # pathom (5)
- # re-frame (5)
- # reitit (3)
- # remote-jobs (6)
- # reveal (38)
- # shadow-cljs (2)
- # spacemacs (14)
- # specmonstah (1)
- # sql (8)
- # tools-deps (2)
- # vim (8)
- # xtdb (22)
Is there a way to query for entities that don't have a certain attribute? Something like "show me all entities that have a :company/id but don't have a :company/owner"
Looks like that datomic-peer
do not respect socks proxy JVM props -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=5000
Is it a know issue? slurp
respect this settings both for dns resolution and packages.
Datomic do not respect the proxy for names resolution
I can't know about packages
Hi, I want to restore my backup db then I run bin/transctor
the transactor
datomic-pro-0.9.5561 bin/transactor config/dev-transactor-template.properties
Launching with Java options -server -Xms1g -Xmx1g -XX:+UseG1GC -XX:MaxGCPauseMillis=50
Starting datomic:>, storing data in: data ...
System started datomic:>, storing data in: data
and I ran this command and I got an error
datomic-pro-0.9.5561 bin/datomic restore-db backup.tgz datomic:
java.lang.IllegalArgumentException: :storage/invalid-uri Unsupported protocol:
at datomic.error$arg.invokeStatic(error.clj:57)
at datomic.error$arg.invoke(error.clj:52)
at datomic.error$arg.invokeStatic(error.clj:55)
at datomic.error$arg.invoke(error.clj:52)
at datomic.backup$fn__19707.invokeStatic(backup.clj:306)
at datomic.backup$fn__19707.invoke(backup.clj:304)
at clojure.lang.MultiFn.invoke(MultiFn.java:233)
Can someone help me?Okay, I don't get it... or-join
works completely different from what I expect. When there's no result fulfilling any of the clauses in or-join
it will match everything. Is that on purpose? How can I avoid that?
I thought this:
(d/q '[:find ?eid .
:in $ ?comp-domain ?comp-name
:where
(or-join [?eid]
[?eid :company/name ?comp-name]
[?eid :company/domain ?comp-domain])]
db comp-domain (:company/name data)))
Would be equivalent to this:
(or (d/q '[:find ?eid .
:in $ ?comp-domain ?comp-name
:where
[?eid :company/domain ?comp-domain]]
db comp-domain))
(d/q '[:find ?eid .
:in $ ?comp-domain ?comp-name
:where
[?eid :company/name ?comp-name]]
db (:company/name data))))
But it is not.In the first query, you are getting all ?eid
s because the or-join you specify does not unify with ?comp-name
nor ?comp-domain
. So, practically, the ?comp-domain
/`?comp-name` in your :in
clause are not the same as the ones you use in the or branches of your or-join
So your first query now says “Give me al entity ids of entities that have either a name, or a domain”, the bindings in your :in
make no difference
If you change (or-join [?eid] ...)
to (or-join [?eid ?comp-domain ?comp-name] ...)
, do you get what you want?
And it works for a valid binding too. Thanks! I misinterpreted how that first vector works in or-join
, I thought that is to declare the common variable.
It declares what variables from outside the or-join
to unify with ^^
Q: what’s the best way to query for the most recently created entity (with other conditions) in Datalog?

I can include a :where [?e :some/attr _ ?t] and then sort all results by ?t but it feels like there must be some way to use max to do this
Here are some interesting time rules: https://github.com/Datomic/day-of-datomic/blob/master/tutorial/time-rules.clj maybe that helps ^^
Not sure if your use is exactly in there, but I often use it as a reference if I want to find something history related 🙂
haha, teach a man to fish, and all 🙂