Fork me on GitHub
#asami
<
2021-11-24
>
zeitstein14:11:14

Hi, @quoll 🙂 Have you given any thought to supporting namespaced :id? E.g. having :person/id and :city/id. Would make sense (at least from a non-technical standpoint) and would help with differentiating different kinds of entities, just like other attributes such as :person/name. Maybe make a rule along the lines of "every attribute ending in /id is treated as :id"? Probably don't need specific examples, but this would help with using entity with #fulcro, where namespaced id's play a prominent role. Currently I need to use rename-keys. It's a minor nuisance, to be sure :)

quoll14:11:57

This doesn’t make sense from the DB perspective, but there’s no technical reason I can’t. I think I could manage it. Want to submit a ticket for me?

zeitstein14:11:24

Right. Would there be performance implications? Submitted to GitHub.

quoll15:11:23

It could, yes. The only way to find these is to iterate through the keys. I do iterate through all key/values in an entity, but before I do I need to have knowledge of the node that represents that entity. The only approaches would be to iterate twice through every entity, or else backtrack over generated triples and rewrite them (which is probably more expensive).

zeitstein16:11:00

Hm, I probably wouldn't make that trade-off for my example above, to be honest. Also, the rule I had in mind above is starting to sound a bit like having a schema. If that rule, than why not also enforce uniqueness of the value of :person/id... Yes, not sure it's a good fit for the open world model.