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

Reply via email to