tagspeak-examples: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
No edit summary
m (Reverted edits by LiouaColoc (Talk) to last version by Tantek)
 
(2 intermediate revisions by 2 users not shown)
Line 42: Line 42:
   </nowiki></pre>
   </nowiki></pre>


==== Proposed formulations - blogspeak.org
==== Proposed formulations - blogspeak.org & inames ====
These are not currently in real-world implementations but are examples
of some thinking that in effect combines the above two approaches
[http://blogspeak.org/tagspeak.html blogspeak.org/tagspeak.html]
<pre><nowiki>
<a href="http://TAGSPACE.someservice.com/../PAR/AME/TERS/<tag>"  rel="tag">any text</a>
  </nowiki></pre>
[http://www.seedwiki.com/wiki/itag/power_i-tags.cfm itags]
  <pre><nowiki>
<a href='http://xri.itags.net/=mary/(+blog)/napsterization*
        (=mary/(+tag)/(+dog))*(=mary/(+blog.post)/41)/dog'>dog</a>
  </nowiki></pre>
 
=== Plain text examples ===
==== delicious :colon ====
The use of colon : as a separator
  <pre><nowiki>
  for:username - when a bookmark is tagged thus it is routed to the specified users's space
                within delicious
  groupname:tag - This type formulation is rumored+ to be released soon.
  </nowiki></pre>
+[http://www.hyperorg.com/blogger/mtarchive/berkman_joshua_schachter.html source of rumor]
==== shadows.com & jots.com :& ====
The use of @ to denote a group
  <pre><nowiki>
  @tag denotes a group tag
  </nowiki></pre>
 
==== delicious & technorati :+ ====
The use of + to denote an intersection
  <pre><nowiki>
  tag1+tag2 denotes an intersection of tags when used to search
  </nowiki></pre>
 
==== inames ====
inames use an 'equal to' = sign to prepend the iname
 
==== Foxylicious :. ====
The use of . (or other characters) to denote a hierarchy of tags
  <pre><nowiki>
  tag1.tag2 denotes that tag2 is only relevant in the context of tag1
  </nowiki></pre>
 
==== HonorTags & Tagback(1) - The use of a standard prefix ====
[http://honortags.com/ HonorTags]
<pre><nowiki>
    HonorTagJournalism
    HonorTagProfessional
    HonorTagAdvocate
    HonorTagPersonal
    HonorTagFiction
    HonorTagUnTag
</nowiki></pre>
[http://weblog.burningbird.net/archives/2005/02/07/introducing-tag-back/ Tagback(1)]
<pre><nowiki>
Strip spaces from the title and add a prefix such as bb to the begining
Title: Introducing tagback
tag: bbintroducingtagback
</nowiki></pre>
 
 
 
==== Proposed formulations ====
These are not in real world use but are proposed
and use a combination of : & =iname
* [http://tagspaces.org/index.php?title=WorkingDraft tagspaces.org]
tag attributes separated by colons appended with an optional iname
* Open Tags & Tagback (2) - The use of a fragment
[http://www.corante.com/getreal/archives/2005/11/01/itags_open_tags.php Open Tags & Tagback(2)]
Instead of the last segment of the url being the tag, having the fragment be the tag
and this fragment points to a position on the page which would show a list of
trackback like tagback pings from the various tag-processors who have picked
the tag up.
<pre><nowiki>
<a href=
  "http://www.corante.com/getreal/archives/2005/07/24/name_of_post.php#tag_thai" rel="tag">thai</a>
</nowiki></pre>
 
== Existing Practices ==
Here are a couple of thoughts on existing practices
*plain-text: The punctuations in use are either used as a separator or as a qualifier. The separator currently in use is the colon as adopted by delicious. @ and = are used as qualifiers for a group and iname respectively. This nuanced distinction is useful as it could allow for constructs such as @group:tag or =iname:tag
*links: Explicit tagging wherein bloggers place rel="tag" attributes has ramped up from 0% in 2005 January 1 (before [[rel-tag]] was introduced) to 35% as of 2005 November 1.  This rapid ramp has demonstrated that visible rel-tags are quickly being adopted, both by individual bloggers and blogging tools, and also displacing invisible RSS Category or invisible DC:Subject keywords.
 
== Proposal ==
*Link: Allow tags to be any one of the following
**The last fragment in a url
**The first word in a url where no words exist beyond the TLD
**The last word in a url if no fragment is present (This is the current rel-tag standard)
***Where the last word or last fragment is the tag, the optional use of the first word as a tagspace
<pre><nowiki>
Last fragment: <a href="http://bla-bla.com/../xyz.html#thetag" rel="tag">
First word: <a href="http://thetag.bla-bla.com/" rel="tag">
Last word: <a href="http://bla-bla.com/../thetag" rel="tag">
First & Last fragment: <a href="http://tagspace.bla-bla.com/../xyz.html#thetag" rel="tag">
First & Last word: <a href="http://tagspace.bla-bla.com/../thetag" rel="tag">
</nowiki></pre>
*Plain text: Allow the use of special punctuations as ''separators'' and ''qualifiers''
**The use of a : as a separator
***Establish a reserved set of tag directives such as 'for', 'domain names' etc.
**The use of a + for more than one tag
**The use of @ and = as qualifiers for an group & iname respectively.
tagdirective:tag
<pre><nowiki>
tagdirective:tag
Where tagdirectives is either one of a reserved set of directives or
is a tag for a broader group classification
So if 'for' is a reserved directive but 'plumbers' is not a reserved directive
for:john would be interpreted based on the reserved directive 'for'
plumbers:john would tag the item with the tag john in the broader group/cluster of plumbers
 
Standard domain conventions could be used in the reserved directives such as
amazon.com:tag
wine.com:tag
etc.
</nowiki></pre>
qualifiers and separators
<pre><nowiki>
plumbers:john
 
could be written as
 
@plumbers:john  -  to explicitly denote plumbers to be a group/cluster
 
and/or as
 
@plumbers:=john - to note that john is an iname
</nowiki></pre>
 
tag1+tag2+tag3
<pre><nowiki>
tag1+tag2+tag3: Would tag an item with all three tags
</nowiki></pre>
 
== See Also ==
* [http://www.blogspeak.org/tagspeak.html blogspeak.org/tagspeak.html]
* [http://gada.be/about gada.be/about]
* [http://sriram.wordpress.com/2005/11/04/tagspeak-models-tagback-shelley-tagback-stowe-itags-mary-tagspaces-chris/ overview of some tagspeak models]
* [http://www.tagspaces.org tagspaces.org]
* [http://www.seedwiki.com/wiki/itag/itag.cfm itags]
* [http://www.corante.com/getreal/archives/2005/07/24/open_tags_made_for_a_distributed_world.php open tags tagback(2)]
* [http://weblog.burningbird.net/archives/2005/02/07/introducing-tag-back/ tagback(1)]
* [http://dietrich.ganx4.com/foxylicious/ Foxylicious]

Latest revision as of 19:49, 16 December 2008

tagspeak examples

tagspeak is the way in which ordinary people construct tags.

The Problem

As tags have grown in popularity and usage they are increasingly called upon to undertake additional tasks besides categorization such as-

  • As directives to route content, associate tags to a group tag or associate with a broader consensus tag
  • Provide additional attributes such as username, genre etc. for a tag

Currently, these additional tag attributes are being marked up in an ad-hoc fashion as decided by individuals, consensus groups and/or tag services.

Formulating a standard for tagspeak would

  • assist taggers - who could use the same formulation across multiple services
  • assist tagservices - who could build support for the range of tagspeak instead of one-of and ad-hoc development.
  • assist tag processors - who could build parsers for tagspeak

Participants

Real-World Examples

Everyday users construct tags in two ways

  • with links: using the rel-tag formulation
  • in plain text: on taggable services such as flickr, delcious etc.

Link examples

The primary example of this is the rel-tag formulation, which although works quite well, could be broadened to assist everyday bloggers as this study indicates.

Technorati and rel-tag formulations

 <a href="http://technorati.com/<tag>" rel="tag">any text</a>
  

gada.be formulation

Uses the first word in the url as the tag. This has the benefit of making it very easy to remember, and is especially useful for mobile customers.

 <a href="http://<tag>.gada.be">any text</a>
  

Proposed formulations - blogspeak.org & inames

These are not currently in real-world implementations but are examples of some thinking that in effect combines the above two approaches blogspeak.org/tagspeak.html

 <a href="http://TAGSPACE.someservice.com/../PAR/AME/TERS/<tag>"  rel="tag">any text</a>
  

itags

<a href='http://xri.itags.net/=mary/(+blog)/napsterization*
         (=mary/(+tag)/(+dog))*(=mary/(+blog.post)/41)/dog'>dog</a>
  

Plain text examples

delicious :colon

The use of colon : as a separator

  for:username - when a bookmark is tagged thus it is routed to the specified users's space 
                 within delicious
  groupname:tag - This type formulation is rumored+ to be released soon.
  

+source of rumor

shadows.com & jots.com :&

The use of @ to denote a group

  @tag denotes a group tag
  

delicious & technorati :+

The use of + to denote an intersection

  tag1+tag2 denotes an intersection of tags when used to search
  

inames

inames use an 'equal to' = sign to prepend the iname

Foxylicious :.

The use of . (or other characters) to denote a hierarchy of tags

  tag1.tag2 denotes that tag2 is only relevant in the context of tag1
  

HonorTags & Tagback(1) - The use of a standard prefix

HonorTags

     HonorTagJournalism
     HonorTagProfessional
     HonorTagAdvocate
     HonorTagPersonal
     HonorTagFiction
     HonorTagUnTag 

Tagback(1)

Strip spaces from the title and add a prefix such as bb to the begining
Title: Introducing tagback
tag: bbintroducingtagback


Proposed formulations

These are not in real world use but are proposed and use a combination of : & =iname

tag attributes separated by colons appended with an optional iname

  • Open Tags & Tagback (2) - The use of a fragment

Open Tags & Tagback(2) Instead of the last segment of the url being the tag, having the fragment be the tag and this fragment points to a position on the page which would show a list of trackback like tagback pings from the various tag-processors who have picked the tag up.

<a href=
  "http://www.corante.com/getreal/archives/2005/07/24/name_of_post.php#tag_thai" rel="tag">thai</a>

Existing Practices

Here are a couple of thoughts on existing practices

  • plain-text: The punctuations in use are either used as a separator or as a qualifier. The separator currently in use is the colon as adopted by delicious. @ and = are used as qualifiers for a group and iname respectively. This nuanced distinction is useful as it could allow for constructs such as @group:tag or =iname:tag
  • links: Explicit tagging wherein bloggers place rel="tag" attributes has ramped up from 0% in 2005 January 1 (before rel-tag was introduced) to 35% as of 2005 November 1. This rapid ramp has demonstrated that visible rel-tags are quickly being adopted, both by individual bloggers and blogging tools, and also displacing invisible RSS Category or invisible DC:Subject keywords.

Proposal

  • Link: Allow tags to be any one of the following
    • The last fragment in a url
    • The first word in a url where no words exist beyond the TLD
    • The last word in a url if no fragment is present (This is the current rel-tag standard)
      • Where the last word or last fragment is the tag, the optional use of the first word as a tagspace
Last fragment: <a href="http://bla-bla.com/../xyz.html#thetag" rel="tag">
First word: <a href="http://thetag.bla-bla.com/" rel="tag">
Last word: <a href="http://bla-bla.com/../thetag" rel="tag">
First & Last fragment: <a href="http://tagspace.bla-bla.com/../xyz.html#thetag" rel="tag">
First & Last word: <a href="http://tagspace.bla-bla.com/../thetag" rel="tag">
  • Plain text: Allow the use of special punctuations as separators and qualifiers
    • The use of a : as a separator
      • Establish a reserved set of tag directives such as 'for', 'domain names' etc.
    • The use of a + for more than one tag
    • The use of @ and = as qualifiers for an group & iname respectively.

tagdirective:tag

tagdirective:tag 
 Where tagdirectives is either one of a reserved set of directives or
 is a tag for a broader group classification
 So if 'for' is a reserved directive but 'plumbers' is not a reserved directive
 for:john would be interpreted based on the reserved directive 'for'
 plumbers:john would tag the item with the tag john in the broader group/cluster of plumbers

 Standard domain conventions could be used in the reserved directives such as
 amazon.com:tag
 wine.com:tag 
 etc.

qualifiers and separators

plumbers:john 

could be written as 

@plumbers:john  -  to explicitly denote plumbers to be a group/cluster

and/or as

@plumbers:=john - to note that john is an iname

tag1+tag2+tag3

 
tag1+tag2+tag3: Would tag an item with all three tags

See Also