This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-08-12
Channels
- # announcements (5)
- # babashka (1)
- # beginners (193)
- # calva (79)
- # cider (18)
- # clara (4)
- # clojure (38)
- # clojure-europe (12)
- # clojure-france (8)
- # clojure-nl (12)
- # clojure-sweden (1)
- # clojure-uk (50)
- # clojurescript (37)
- # conjure (30)
- # cursive (3)
- # data-science (2)
- # datalog (7)
- # datomic (12)
- # events (2)
- # expound (3)
- # figwheel-main (1)
- # fulcro (45)
- # graalvm (1)
- # jobs (1)
- # jobs-discuss (11)
- # luminus (1)
- # malli (5)
- # off-topic (32)
- # reagent (6)
- # reitit (32)
- # shadow-cljs (25)
- # spacemacs (2)
- # sql (22)
- # vim (6)
hi, i need to model labeled edges and i'm wondering about the best way to do it in a db like datomic or crux. I have relations like this, using cypher: (a:A)-[r:REL {foo: "bar", ...}]->(b:B)
. the off-the-shelf way to do this is to make the relation a separate entity and join to a
and b
on r
, like {:r/id :my-id, r/a-join :id-for-a, :r/b-join :id-for-b, :edge-attr1 ..., :edge-attr2 ...}
but I want to instead model it by having a
have a join to r
and have r
have a join to b
: this helps me structurally represent the directionality of this edge. hope that makes sense--can anyone comment on whether it'd be OK to pursue the latter model, and whether there are any others i ought to consider?
sorry, should have made that clearer: i mean i need every edge to be an entity because i want to label each edge with various attributes