What Are Machine Tags?
Have you heard of machine tags? Unless you use Flickr actively, probably not. A machine tag, Flickr’s name for a triple tag, is a tag with meta information i.e. how it’s related to other tags. What difference can that make? A world of a difference.
As was explained in a Flickr group post, a machine tag is a tag consisting of a namespace, predicate and value in the format:
[namespace]:[predicate]=[value]
The namespace and predicate are the meta information of a tag and the value is the conventional tag we’re used to. Depending on the nomenclature you’re used to, think of a namespace as a tag’s class or type and the predicate as its property, attribute or facet. Aside from some reasonable character restrictions Flickr sets on namespace and predicate, machine tags are just tags.
So how about an example? Here are some machine tags from a flickr photo
- astro:name=NGC 4565
- astro:orientation=11.73
- astro:RA=189.083922302
For these machine tags, astro
is the namespace; name
, orientation
and RA
are the predicates; and you can guess the values (everything after ‘=’). So aside from seeing that the photo has some astronomy-specific metadata associated with it, what’s the big deal?
- The metadata is structured. So structured that we can represent the example machine tags in a table:
+-----------+-------------+---------------+ | namespace | predicate | value | +-----------+-------------+---------------+ | astro | name | NGC 4565 | | astro | orientation | 11.73 | | astro | RA | 189.083922302 | +-----------+-------------+---------------+
Or in a tree:
astro |-- name | `-- NGC 4565 |-- orientation | `-- 11.73 `-- RA `-- 189.083922302
Another testament to this structure is an astrophotography group that uses the example machine tags to make photos viewable with Google Sky.
- The effort required to add structured metadata opens this up to everyone. A user doesn’t have to be a developer who knows about rdf, owl or yet another metadata language. They simply have to know how a colon and equal sign delimit their metadata and they are able to metadata away. Flickr is a great example of this. Browse the 100+ machine tag namespaces that Flickr users have created.
- Since machine tag syntax is simple and structured, it’s easy for developers to make powerful queries into your structured metadata. Take for example flickr’s machine tag searches:
- For programmers/developers: If you look at the example machine tags as one unit, you basically have an astro object with three attributes. How much easier can it be to have users create data you can use? If a group of machine tags can represent an object, then aren’t the aforementioned machine tag queries approximating SQL-like searches in the form of urls?
So aside from Flickr, who uses machine tags?:
- My Rails plugin enables Rails applications to machine tag.
- My jQuery plugin enables machine tagging for javascript + jquery apps. New!
- Here is a RDF format for machine tags.
- Astrometry robot crawls Flickr photos and annotates them with machine tags.
- A univerity-based group organizes their ceramic images with machine tags.
- Blogger let’s users associate photos with any of his blog posts using Flickr’s machine tags.
- Another blogger who does the same.
- My console application manages bookmarks with machine tags.
If you know of additional machine tag projects or metadata alternatives that provide the flexibility and structure that machine tags do, feel free to comment them.