[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