- Next »
- « Previous
Depth of Traversal
We can see that there are three main models: user, photoset, and photo.
The models are interlinked with the following possibilities:
- photoset can link to { photo, user }
- photo can link to { photoset, user }
- user can link to { photoset, photo, user }
- photoset links to
- users (as commenters)
- photos (as children)
- user (as owner)
- photo links to
- photosets (as parents)
- users (as favoriters)
- users (as commenters)
- users (as noters)
- users (as taggers)
- user links to
- photosets (as children)
- photos (as children)
- users (as contacts)
- photos (as favorites)
Thus, for k = 2 and since our starting point is always a photoset, we have:
- photoset -> user -> photoset, i.e. photosets owned by the user(s) who (commented|owned) the photoset
- photoset -> user -> user, i.e. users who are contacts of the user who (commented|owned) the photoset
- photoset -> user -> photo -> user, i.e. users who (favorited|commented|noted|tagged) photos (belonging to|favorited by) user(s) who (commented|owned) the photoset
- photoset -> user -> photo -> photoset, i.e. photosets that contain the photos (belonging to|favorited by) user(s) who (commented|owned) the photoset
- photoset -> photo -> photoset, i.e. other photosets that contain the same photos as the photoset
- photoset -> photo -> user -> user, i.e. users who are contacts of the user who (favorited|commented|noted|tagged) photos belonging to the photoset
- photoset -> photo -> user -> photo, i.e. photos (belonging to|favorited by) users who (favorited|commented|noted|tagged) photos belonging to the photoset
- photoset -> photo -> user -> photoset, i.e. photosets belonging to users who (favorited|commented|noted|tagged) photos belonging to the photoset
Comments
This is fine for the time being. Do you think different types of edges should have different k's? For now, your idea is simple and easy to defend. Also are you ensuring you capture all edges that go between the different models, or are you selective pruning some?
Different edges may require different edges but that would mean having to look at the semantics of what the different ks mean for different edges. I guess its hard to determine at this point as we dont really know what else will be useful yet.
As for the edges between models, my model design is exhaustive in that theres no other way the models are connected in flickr (at least none that I can capture given methods that dont require user authentication).