Hi guys, We're thinking about implementing tags in our system, and we're pondering a few ideas for how we'd go about it, and none of them seem perfect. I'd like to ask you guys: how would you design an analogous case: Del.icio.us?
At the core, *users bookmark links*, so it makes sense to have "users" and "links" as types of nodes, and "bookmark" as the type of edge that connects them. Now, you can see all the links a given user has bookmarked, and all the users that have bookmarked a given link. Now users can also *tag* links, of course, but the most interesting requirement is that, when I'm looking at *my links*, I only want to see *my tags*. Thus, tags can't be tied just to links; they have to be tied to users too. But most importantly, you have to maintain *which* user and *which* link *each* tag is for. Thus, it seems most intuitive to us if we could have "tags" be nodes that *point to the "bookmark" edges*. Unfortunately, that's a hypergraph, which Neo4j doesn't support. We could use intermediate nodes for bookmarks maybe, but that sort of sucks to lose the intuitiveness of the graph and introduce redundant edges, more complexity which makes consistency harder, etc. We have some other ideas, but I'm curious if any of you guys have thought about this already or have done it, or if you guys have thoughts. Thanks in advance! Aseem _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user