I forgot to state this, but a key requirement of tags of course is that you can apply multiple of them to the same link.
Would you still go that route then? If you want to delete a link from your bookmarks, it's a matter then of deleting each tag edge? Aseem On Wed, Jun 8, 2011 at 10:28 PM, Siddhartha Kasivajhula < countvajh...@gmail.com> wrote: > Couldn't you use edges for "tags" instead of nodes? > > user1 --tag--> link1 > user2 --tag--> link1 > user1 --tag--> link2 > > > On Wed, Jun 8, 2011 at 10:23 PM, Aseem Kishore <aseem.kish...@gmail.com > >wrote: > > > 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 > > > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user