- 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>
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 UTC