In a previous question, I asked about creating a relationship entity.
In a traditional RDBMS, I would create a many-to-many table for this kind of thing and then join them as needed, but nothing in the tables being joined. Simple case user table:
[1] Bob
[2] Fred
Simple relationship table:
[1] "works for" [2]
I wouldn’t put anything about the relationships in the user table. But it’s sort of tempting with Datomic to have the user entity have an attribute refers to many relationships.
It’s a bad idea to do this in an RDBMS because if you put the information that “Fred works for Bob” in Fred’s record, Bob’s record must also be updated to say “Bob is the boss of Fred”.
But in a logical programming language, you get “is the boss of” for free when you specify “works for” (presuming you’ve defined that). And I feel like with the whole EAV thing it probably shouldn’t matter, since there isn’t really a record in that sense.
Am I getting this?