[TagCommons-WG] Use Cases for Sharing Tag Data - Summary

Nitin Borwankar nitin at borwankar.com
Thu Mar 1 12:51:02 PST 2007



Hi Tom,

If you find it useful you may want to add that use cases can be 
classified by who generates tags and who consumes them.

Also where you mention the need for user-item-tag-....... associations, 
readers might be interested in taking a look at some earlier explorations
at http://tagschema.com using relational databases and 
tag-data-warehouse approaches to create tag-fact tables.
And  "finder methods" such as findXbyY have also been discussed on 
tagschema.com as well as a toy tag calculus that allows some useful
manipulations to be discussed powerfully and compactly.

For instance (to summarize here, with the understanding that this is an 
informal calculus and not rigorous - yet)

Let u, i, t be instances of users, tags, items and let U(x) mean all 
users of an entity x, I(x) be all Items of an entity x, T(x) be all tags 
of an entity x
then

U(t) is "all users of a tag t"

and

T(U(t)) is "the union of all tags used by all users of  t".

Using this calculus allows compositions of these operations to be 
discussed compactly.
The post "Putting the folk back in folksonomy" uses this approach to 
discuss recommendation systems derived from tag collections vs user 
collections.

In work done for clients I have developed Java libraries that implement 
an API with primitives such as

tagid[] getAllUserTags(userid)
String[] getAllUserTagStr(userid)

etc.

In that work it became obvious that aside for identifying source of the 
tagging (data source namespace) it is also necessary to have a type 
field - what type of item is being tagged.  This is both for performance 
and semantic reasons. I want to be able to say 
getAllUserTags(datasource, itemtype).


To clarify:-

Currently we don't see the differentiation between data source and data 
type clearly because most tagging sites are implicity tagging only one 
type of data, del --> bookmarks, flickr --> photos,  etc.

But consider a framework where you have, say, jobs, companies, candidates
i.e. items could be jobs or companies, users are candidates and I want 
to display all companies tagged by Joe as "cool" but not all job 
listings tagged by Joe as "cool".
Allowing explicitly different types allows different physical schemas, 
so that contention is reduced, and also allows different access policies 
etc,. to be applied to different types.  Typing is probably well left as 
a local matter ie we let individual tagging sources define their typing 
schema.

Nevertheless we need to build in the understanding at the foundation 
that tags can have a second level of "fine structure" governed by the 
kind of items tagged at the tagging source.

Homogenous tag sources del, flickr, .... have a single implicit 
associated type.
Heterogenous tag sources need to have an explicit type expressed in a  
(tag, tagtype, user, item , .....)  tuple.



-- 
Nitin Borwankar

http://greener.com
Find, Learn, Act .... Greener, the search engine for the planet

http://tagschema.com
Implementation of tag database applications

nitin at borwankar.com
510-872-7066




More information about the Wg mailing list