Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a key-value pair) every time a tag is added? Removing from the index every time a tag is deleted?
Thanks, Aseem On Wed, Jun 8, 2011 at 10:31 PM, Aseem Kishore <aseem.kish...@gmail.com>wrote: > 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