January 26, 2007
@ 02:13 AM

Interesting, it seems Flickr have formalized the notion of partitioning tags into namespaces with their introduction of Machine Tags which are described as

# What are machine tags?

Machine tags are tags that use a special syntax to define extra information
about a tag.

Machine tags have a namespace, a predicate and a value. The namespace defines a class or a facet that a tag belongs to ('geo', 'flickr', etc.) The predicate is name of the property for a namespace ('latitude', 'user', etc.) The value is, well, the value.

Like tags, there are no rules for machine tags beyond the syntax to specify the parts of a machine tag. For example, you could tag a photo with :

* flickr:user=straup

* flora:tree=coniferous

* medium:paint=oil

The XML geek in me can't help but squint at the term "namespaces" and wonder how they plan to avoid naming collisions in a global namespace (e.g. if multiple people choose the same name for a namespace they create) . I guess this is no different from people using the same word to tag an item while meaning totally different things (e.g. "apple", "glass", "light", etc) and folksonomies like Flickr seem to handle this just fine.

Creating facets in tags like this isn't new, del.icio.us has had this for a while and it it looks like a good way to create ways to create hidden tags that the system can use for performing special operations without it being in the user's face.

Now that the two granddaddies of tagging both provide this functionality, I wonder how long it takes for machine tags to wind it's way through all the tagging systems in the various copycat Web 2.0 sites on the Web.


 

Friday, 26 January 2007 10:21:09 (GMT Standard Time, UTC+00:00)
Adding the (lightweight) namespace capability reduces the *current* likelihood of naming collisions, so music:toasting != cookery:toasting. In the faq it also suggests how to use URIs to do it globally:
[[
If you are concerned about colliding namespaces you should consider adding an additional machine tag to define your namespace. For example :

dc:subject=tags
xmlns:dc=http://purl.org/dc/elements/1.1/
]]

Speaking globally again, the terms in one tagging space can be disambiguated from those of another, e.g.

http://www.flickr.com/photos/tags/toasting
http://del.icio.us/tag/toasting

[These can be used directly as web resources in RDF with Richard Newman's Tag Ontology. Not sure yet how best how to construct an RDF version of the lightweight-namespaced machine tags...]

Comments are closed.