;; Instead of sequential:
[(attr-graph ?attr) ?g]
[(bfs-reachable ?g $ ?p) ?r]
;; Can write nested:
[(bfs-reachable (attr-graph ?attr) $ ?p) ?r]
;; Or deeply nested:
[(out-neighbors (reverse-graph (attr-graph ?attr)) $ ?p) ?incoming]
I am experimenting with graph algorithms a bit atm. and I was wondering whether it would be better to allow nested expressions in function calls. I am not convinced this is a good idea per se, but I tripped over this a few times when I started using Datomic, and it can be annoying to first bind each nested variable to a logic var. I am curious to hear others opinions on this? Also on which kind of graph algorithms people would be interested in. I have hierarchical Louvain for instance.LMDB backend fails:
Caused by: java.lang.IllegalArgumentException: No implementation of method: :-assoc-serializers of protocol: #'konserve.protocols/PAssocSerializers found for class: konserve_lmdb.store.LMDBStore
org.replikativ/datahike "0.7.1631"
io.replikativ/datahike-lmdb Weird. What konserve version do you use according to your dependency tree?
My database component deps.edn:
{:paths ["src" "resources"]
:deps {mount/mount {:mvn/version "0.1.23"}
org.replikativ/datahike {:mvn/version "0.7.1633"
:exclusions [org.replikativ/konserve]}
org.replikativ/konserve-jdbc {:mvn/version "0.2.92"
:exclusions [org.replikativ/konserve]}
io.replikativ/datahike-lmdb {:git/url ""
:git/sha "77e75b3c3e151984309e78a3f23db8fe20cb44fb"
:exclusions [org.replikativ/konserve]}
org.replikativ/konserve {:mvn/version "0.9.344"}
org.postgresql/postgresql {:mvn/version "42.7.8"}
missionary/missionary {:mvn/version "b.46"}
ch.qos.logback/logback-classic {:mvn/version "1.4.14"}}
:aliases {:test {:extra-paths ["test"]
:extra-deps {}}}} Why would I get an error like this. I thought homogenous tuples can be of any length. It's stopping me from retracting the entity.
clojure.lang.ExceptionInfo: Bad format for value in pattern, must be a scalar, nil or a vector of two elements. {:error :search/pattern, :v ["" "tag139878778372080000" "tag139879675144920000"], :pattern [10484919 :taglist ["" "tag139878778372080000" "tag139879675144920000"]]}
This is the schema definition:
{:db/ident :taglist
:db/valueType :db.type/tuple
:db/cardinality :db.cardinality/one
:db/tupleType :db.type/string}This is fixed with 0.7.1642 now.
It will be hard ti me to check because i decided to move from tuple data types to several common types because that workd. But is case Ill come to you with feedbacj
Can you show the function call that throws it?
(d/transact conn [[:db.fn/retractEntity [:expense/id (:id expense)]]])
But this expense has a property called :taglist with those 3 values ["" "tag139878778372080000" "tag139879675144920000"]Looks similar to https://clojurians.slack.com/archives/CB7GJAN0L/p1765777790990609
I hope I can get to this soon, feel free to open an issue to keep track of it.