This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-04-28
Channels
- # asami (13)
- # babashka (6)
- # beginners (38)
- # calva (14)
- # cider (15)
- # circleci (13)
- # clj-kondo (4)
- # cljsrn (18)
- # clojure (164)
- # clojure-bay-area (3)
- # clojure-europe (46)
- # clojure-italy (8)
- # clojure-losangeles (3)
- # clojure-norway (3)
- # clojure-sweden (24)
- # clojure-uk (115)
- # clojurescript (79)
- # cursive (11)
- # datomic (24)
- # docker (2)
- # events (9)
- # figwheel-main (31)
- # fulcro (5)
- # honeysql (6)
- # jackdaw (7)
- # jobs (3)
- # jobs-discuss (16)
- # joker (1)
- # kaocha (6)
- # keechma (1)
- # lein-figwheel (1)
- # malli (6)
- # pathom (10)
- # podcasts (13)
- # practicalli (3)
- # react (4)
- # reagent (3)
- # reitit (8)
- # remote-jobs (3)
- # shadow-cljs (21)
- # sql (12)
- # tools-deps (20)
- # xtdb (24)
Since attribute is just another datom in Datomic you can do:
[?p ?a ?p2]
[?a :db/ident :friend]
But in Datomic edges are scalar and unlabeled. If we ease that requirement, perhaps we can push this further:
[?p ?e ?p2]
[?e :attr/ident :friend]
[?e :date ?date]
The primary difference being that ?e
could have a multiple cardinality unlike Datomic.
[?p ?e ?p2]
[?e :attr/ident :friend]
[?e :priority ?p]
[(> ?p 10)] ;; and maybe in find we want to (count ?e)
Warning: I'm still pre-☕ so this may all be gibberish; but I like playing with the duality of labeled edges vs labeled-nodes + more-edges. This may be all very impractical. 🙂Since this is the Asami channel, I can say that this is already quite possible. In fact, we’re using it this way at Cisco.
While it has bizarre semantic implications (that I really don’t want to think about! :rolling_on_the_floor_laughing:) Asami has been liberating after years of RDF where the datatypes of Subject/Predicate/Object were so strictly defined
So Asami really just doesn’t care if your attribute is an internal node that is unique to that connection and has its own attributes
(Note: please don’t do this! It works fine, but I’m sure that one day it will cause significant confusion for someone)
I like the idea that I can say:
["football" :matches #a/n 1]
[#a/n "1" :type :regex]
[#a/n "1" :value "^foo.*"]
I plan to use internal nodes more frequently in my examples in future. I figure that it will be clearer what the nodes indicate and also get people more used to seeing them.
Asami 2.0.2 is out.
This has 2 changes:
• A bugfix in grouping for some aggregate queries
• Filenames have been corrected. If you have a database from 2.0.1 or earlier, then you can rename the files with a script called update.sh
on github