I was reading some articles at O'Reilly's excelent O'Reilly Radar weblog. Then I read this:
Flickr, Yahoo's amazing photo-sharing site, has added another tag based feature -- this one aimed at developers. They are now supporting machine tags (or triple-tags). What are those you might ask?
Triple tags? Triples, that rings a bell. So I decided to follow the link to the announcement at the flickr site. And guess what do I read?
# What is the spec for machine tags?
Machine tags are divided in to three parts :
1) A "namespace" :
Namespaces MUST begin with any character between a - z; remaining characters MAY be a - z, 0 - 9 and underbars. Namespaces are case-insensitive.
2) A "predicate" :
Predicates MUST begin with any character between a - z; remaining characters MAY be a - z, 0 - 9 and underbars. Namespaces are case-insensitive.
3) A "value" :
Values MAY contain any characters that a "plain vanilla" tags use. Values may also contain spaces but, like regular tags, they need to wrapped in quotes.
Namespace and predicates are separated by a colon : ":"
Predicates and values are separated by an equals symbol : "="
For example :
* geo:locality="san francisco"
Still... that reminds me of something... Hmm... So for each picture, you can add any random predicate (property) with a value. So basically you end up with a bunch of ([picture], [predicate], [value]) tuples right. Hmm.
So let me paraphrase this thing. Flickr always has known tags, which could give you some more hints about what the picture was about. Keywords if you will. These were additional pieces of metadata, information about data (pictures in flickr's case). Right now these tags can be structured, so there is room for a property/field/predicate/whatever-you-want-to-call-it name and a value. And this predicate has a namespace. Hmm. So what they create is a kind of framework to be able to describe pictures. Interesting. Wouldn't it be a nice idea to generalize this and develop a framework like this to describe any resource?