<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:blue;
text-decoration:underline;}
code
{font-family:"Courier New";}
span.EmailStyle19
{font-family:Arial;
color:navy;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=blue>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hello,</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks for stepping up, Harry and Kevin.
I expect that we will form a bridge to rel-tag microformats via GRRDL once we
get our act together about the conceptualization and how to handle variants of
it.</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Harry quoted me as having a "host of
problems" with rel-tag. Actually, I am on the whole very impressed with
the effort and applaud its process. And the proposal is very cleverly designed
for rapid uptake by DIY bloggers without changing existing tools. I only
have two negative issues with the details of the design. </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The first negative issue is only that it
ignores the Semantic Web, which is a pretty good fit for this sort of thing. The
GRRDL effort makes this point moot.</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The second is based on my experience at implementing
it. Very consciously, rel-tag gives meaning to the inner structure of the
URL and the anchor text over it. The inner structure is that it requires
that the last "segment of the path" is a string that is not a query
parameter and that this string is the same as the tag label. In other
words, the URL referring to the tag has to be of the form</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> <a
href="http://tagspace.com/.../tagname">http://tagspace.com/.../tagname</a> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>and *not* </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> http://tagspace.com/myTagProcessingPage?name=tagName</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>or</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> http://tagspace.com/myTagProcessingPage?id=tagID</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>This means</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>(1) the technology for implementing the
web site *must* have URL rewriting rules that can handle arbitrary path components
like this. Although it is the fashion for Web 2.0 sites to use Ruby and
Rails or PHP/Apache with mod-rewrite rules that do this sort of thing, it is
not the default way for web servers to take data as arguments. Also, I
thought according to the standards, URLs were nominal data (tested only with
equality), and that only the left part (host and protocol) has any operational semantics.
</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>(2) the string value of the tag *label* is
also its *identifier*. This violates a basic principle of software
engineering -- the separation of data from UI. For example, if you encode
the elements of a drop down menu with variables having the same name, as soon
as you change your mind about the names you unwittingly break your program. In
my system, tags were frequently renamed (eg, when they were misspelled), and if
they had gotten out into rel=tag links, I would need to support all previous
spellings for all time in order to not break the links. </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>(3) A more fundamental consequence of the
label=identifier for sharing tag data across heterogeneous systems is that by
necessity the rel-tag format *forces* the system to be case sensitive, space
sensitive, word morphology dependent, and otherwise enforcing the identity
between the tag surface UI representation in a language with its machine-readable
data identity. Or, more precisely, systems that support many labels for
the same tag would need to handle the multiple URLs of the same tag with
redirects to a canonical page or many-to-1 URL/content mappings, which happen
to anger the search engines and are therefore a bad idea for Web 2.0 or other
companies depending on user contributed data and organic search.</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I know, this is one of the clever features
of the design and is intended as an antispam technique. However, experience
also shows that it is rather hard to prevent spam with a pattern or convention.
</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I am afraid I don't have a constructive solution
within the microformats pattern that overcomes my objections, which is why I
have not spoken up on the microformats site. However, I can see how we
could deal with these objections by not promising any kind of "round
trip" in expressive power between arbitrary tag data expressible in on
ontology and the rel=tag format. For instance, I don't see any way of a
person tagging content on someone else's web site in a rel-tag, and we clearly
have use cases for that. That just means that the rel-tag format would
only be suitable for the subset of tagging situations where the content is HTML
controlled by the tagger (like a blog) and where the label=string=identifier
assumptions hold.</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hopefully I got this wrong out of
ignorance and someone can clear it up. In any case, we can certainly map
from semantics to syntax as long as we are explicit about the potential information
loss in translation.</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>tom</span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Kevin Marks
[mailto:kevinmarks@google.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Wednesday, March 07, 2007
3:17 PM<br>
<b><span style='font-weight:bold'>To:</span></b> Harry Halpin<br>
<b><span style='font-weight:bold'>Cc:</span></b> Tom Gruber; Tag Commons
Working Group<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [TagCommons-WG]
Rel-tag</span></font></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>
<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'> </span></font></p>
<div>
<p class=MsoNormal><span class=gmailquote><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>On 3/7/07, <b><span style='font-weight:bold'>Harry
Halpin</span></b> <<a href="mailto:hhalpin@ibiblio.org">hhalpin@ibiblio.org</a>>
wrote:</span></font></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>I'd like to draw focus onto rel-tag as a common starting place.<br>
<br>
I might add, if we're interested in data-formats like RDF, GRDDL gives one<br>
a way to bootstrap rel-tag data automatically into RDF (if we can get <br>
rel-tag to get a profile URI)..</span></font></p>
<div>
<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><br>
Could you use <br>
<br>
</span></font><code><b><font size=2 face="Courier New"><span style='font-size:
10.0pt;font-weight:bold'><a href="http://microformats.org/wiki/rel-tag-profile">http://microformats.org/wiki/rel-tag-profile</a></span></font></b></code><b><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
font-weight:bold'><br>
<br>
</span></font></b></p>
</div>
<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Tom mentioned to me offline that there were a host of problems with<br>
rel-tag. Could someone iterate through them for me? </span></font></p>
</blockquote>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
yes, I'd like to hear them too<br>
</span></font></p>
</div>
<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>The main problem seems to be that there's not too much there, it's just
a <br>
(a) between the page you are on and (b) the target of a link.<br>
<br>
It's clearly missing, say, who tagged the page. However, the great thing<br>
about RDF is you can just underspecify things.</span></font></p>
</blockquote>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
your RDF tuple would be <br>
<br>
[url of tagged page] </span></font><code><b><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-weight:bold'><a
href="http://microformats.org/wiki/rel-tag-profile">http://microformats.org/wiki/rel-tag-profile</a>
<a href="http://tagspace.com/%5btag%5d">http://tagspace.com/[tag] </a></span></font></b></code><b><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New";
font-weight:bold'><br>
</span></font></b><br>
</p>
</div>
<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>What I'd like to do is to build a sort of "layer-cake" for
tags, where at <br>
the bottom somewhere is the very basic data between between a page, a<br>
tagged relationship, and it's tagged data. This could easily be put in an<br>
API/RDF/XML.<br>
<br>
Then, we can look at common services and see what else they provide, like <br>
identity of who tagged the page, time of tagging, language, etc. And then<br>
add these in as "slots".<br>
<br>
But first things first! Can we support the relationship of a tag as<br>
between "one URI" and "another URI". <br>
<br>
Since in SemWeb world "one URI" could mean a person, then this
mechanism<br>
wouldn't necessarily exclude the idea of "people tagging pages" which
I<br>
think is much more intuitive than rel-tag's idea of "pages tagging
pages". </span></font></p>
</blockquote>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
no, it's pages having tags - see above. The URL defines the tag. <br>
</span></font></p>
</div>
<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Then we can move up to deal with more complex cases like xFolk, Annotea<br>
annotations, and the many issues Tom brought up in his folksonomy paper.</span></font></p>
</blockquote>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>
</div>
</div>
</body>
</html>