W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > February 2007

Re: [FYI] Machine Tags

From: Steven Pemberton <steven.pemberton@cwi.nl>
Date: Mon, 05 Feb 2007 16:54:50 +0100
To: "Karl Dubost" <karl@w3.org>, "public-rdf-in-xhtml task force" <public-rdf-in-xhtml-tf@w3.org>
Cc: "w3c-tech@w3.org" <w3c-tech@w3.org>
Message-ID: <op.tm985okpsmjzpq@acer3010.lan>

Thanks for pointing this out Karl; this is really big.

I've always said that if there were no namespaces we'd have to invent them  
anyway. I'm sure this will represent a sea-change in how the world sees  
namespaces and the semantic web. Today flickr, tomorrow Technorati, ...

A tipping point if I've ever seen one.

Steven

On Mon, 05 Feb 2007 12:56:31 +0100, Karl Dubost <karl@w3.org> wrote:

>
> FYI,
>
> It is not directly related to RDFa but it has connections
> http://www.flickr.com/groups/api/discuss/72157594497877875/
>
> Copy of the original post
>
> # 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
>
> * geo:quartier="plateau mont royal"
>
> * geo:neighbourhood=geo:quartier
>
> Flickr has already used machine tags, informally, on a couple of  
> occasions :
>
> - When we launched Maps, we provided a way for people who had
> "geotagged" their photos to import their location data. This was
> done using the "geo:lat=..." and "geo:lon=..." tags.
>
> - When a user tags an event with an upcoming ID (for example :
> "upcoming:event=81334") we display a link back to the upcoming.org
> site. A similar example is the excellent "Flickr Upcoming Event"
> greasemonkey script :
>
> userscripts.org/scripts/show/5464
>
> Dan Catt wrote a very good piece about machine tags - he called them  
> "triple tags" - last year :
>
> geobloggers.com/archives/2006/01/11/advanced-tagging-and-...
>
> Update : Dan's gone and written another excellent piece about all of  
> this stuff now that we've launched machine tags:
>
> geobloggers.com/archives/2007/01/24/offtopic-ish-flickr-r...
>
> ---
>
> # 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 :
>
> * flickr:user=straup
>
> * geo:locality="san francisco"
>
> ---
>
> # Why can't I use non-ASCII characters for namespaces and predicates ?
>
> Simple steps, first.
>
> ---
>
> # Can I define another machine tag as the value of a machine tag?
>
> Sure, but it will not be processed as a machine tag itself.
>
> ---
>
> # How do I add machine tags?
>
> By adding tags! No, really.
>
> Machine tags are added *exactly* the same as any other tag whether it is  
> done through the website or the API.
>
> When the Flickr supercomputer processes your tags, we take a moment to  
> check
> whether it is a machine tag. If it is we leverage the powerful Do What I  
> Mean engine to, well, do what you mean.
>
> ---
>
> # How do I query machine tags?
>
> Via the API!
>
> Specifically, using the "machinetags" parameter in the  
> 'flickr.photos.search' method. Like tags, you can specify multiple  
> machine tags as a comma separated list.
>
> ---
>
> # Can I query the various part of a machine tag?
>
> Yes. Aside from passing in a fully formed machine tag, there is a  
> special syntax for searching on specific properties :
>
> * Find photos using the 'dc' namespace :
>
> {"machine_tags" => "dc:"}
>
> * Find photos with a title in the 'dc' namespace :
>
> {"machine_tags" => "dc:title="}
>
> * Find photos titled "mr. camera" in the 'dc' namespace :
>
> {"machine_tags" => "dc:title=\"mr. camera\"}
>
> * Find photos whose value is "mr. camera" :
>
> {"machine_tags" => "*:*=\"mr. camera\""}
>
> * Find photos that have a title, in any namespace :
>
> {"machine_tags" => "*:title="}
>
> * Find photos that have a title, in any namespace, whose value is "mr.  
> camera" :
>
> {"machine_tags" => "*:title=\"mr. camera\""}
>
> * Find photos, in the 'dc' namespace whose value is "mr. camera" :
>
> {"machine_tags" => "dc:*=\"mr. camera\""}
>
> ---
>
> # Is there a limit to the number of machine tags I can query?
>
> Yes. The limit depends on the tag mode (ALL or ANY) that you are querying
> with. "ALL" (AND) queries are limited to (16) machine tags. "ANY" (OR)  
> queries are limited to (8).
>
> ---
>
> # Can I do range queries on machine tags?
>
> No. Not yet, anyway.
>
> It is a hard problem for reasons far too dull to get in to here. It's on  
> the list.
>
> ---
>
> # Are machine tag namespaces reserved?
>
> No. Anyone can use a namespace for anything they want.
>
> 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/
>
> Like tags, in general, we expect (hope?) that the community will develop  
> its own standards by consensus over time.
>
> ---
>
> # What about all the machine tags that are already in the Flickr  
> database?
>
> At the moment, they are still treated as plain old tags.
>
> We have plans to go back and re-import them as machine tags but for now,  
> only new tags will be processed as machine tags.
>
> In the meantime, if you re-save a machine from the 'edit this tag' page  
> it will be re-imported as a machine tag.
>
> ---
>
> # Is the predicate *really* a predicate?
>
> You are in a dark cave. In the corner is a fire and a man making bunny  
> shadows on the wall with his hands. Whether or not it's really a  
> 'predicate' depends on how much time you spend on the semantic-web  
> mailing list. ;-)
>
> It's close enough to being a predicate that it makes for a good short- 
> hand.
>
> ---
>
> # Wait, aren't machine tags just RDF?
>
> No, machine tags are not RDF; they could play RDF on television, though.
>
> See also :
>
> weblog.scifihifi.com/2005/08/05/meta-tags-the-poor-mans-rdf
>
> ---
>
> # Huh, what is RDF ?
>
> RDF Describes Flickr. That's really all you need to know about RDF.
>
>
Received on Monday, 5 February 2007 15:55:09 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:15:03 GMT