[uf-discuss] Multiple vote-links

Kevin Marks kevinmarks at gmail.com
Tue Jun 9 12:46:54 PDT 2009

On Tue, Jun 9, 2009 at 8:10 AM, Bruno Barberi Gnecco
<bruno at likeorhate.com> wrote:
>> On Mon, 2009-06-08 at 18:17 -0300, Bruno Barberi Gnecco wrote:
>>> We are using vote-links extensively in our new site (likeorhate.com)
>> And doing so wrongly. VoteLinks are a badly named microformat. They are
>> *not* for polling. They are for linking to articles about stuff you like
>> or dislike.

They are links that express votes - if you can suggest clarifications
to the text of the microformat page that make this clearer that would
be appreciated.

>> e.g.
>>        I like <a rev="vote-for" href="/cheese">cheese</a>,
>>        but not <a rev="vote-against" href="/broccoli">broccoli</a>.
>> That means that this page counts as a "vote for cheese" and a "vote
>> against broccoli". Although votelinks is unclear on the semantics - do I
>> like cheese, or do I like that particular page about cheese?

That page is the default assumption. Links are between pages. I
suppose you could combine with rel-tag to express an abstract category

<a rev="vote-for" rel="tag" href="/cheese">cheese</a>,

but in that case you may be better off using the ratings in hreview,
which are designed for that purpose

>> VoteLinks are quite muddy and their meaning is pretty unclear.

I'd disagree there. The intent is clear -to be able to express
agreement and disagreement with a linked-to page from the current

In practice, however, rel-nofollow has won out as disagreement, with
plain links as agreement. The formulation above:

 <a rev="vote-for" rel="nofollow" href="...">Like</a>

has 2 votes for the same thing, as rel="nofollow" is equivalent to
rev="vote-abstain" - very hard to work out what your intent is there,.

>> With
>> RDFa, you can state each of those meanings unambiguously.

With hReview you can express what you want here

>> If you like cheese (the page), then:
>>        <p about="#me" xmlns:like="http://ontologi.es/like#">
>>          I like <a rel="like:likes" href="/cheese">cheese</a>.
>>        </p>

<div class="hreview">
<span class="reviewer vcard"><span class="fn">Kevin Marks</span></span>
<abbr class="rating" title="5">likes</abbr>
<div class="item"><a href="/cheese" class="fn url">this cheese page</a></div>

>> If you like cheese (the food), then (a little more complicated):
>>        <p about="#me"
>>           xmlns:like="http://ontologi.es/like#"
>>           xmlns:foaf="http://xmlns.com/foaf/0.1/">
>>          I like
>>          <span rel="like:likes">
>>            <a rev="foaf:primaryTopic" href="/cheese"
>>               property="foaf:name">cheese</a>
>>          </span>
>>        </p>

<div  class="hreview"><span class="reviewer vcard"><span
class="fn">Kevin Marks</span></span>
<abbr class="rating" title="5">likes</abbr>
<div class="item"><span class="fn">cheese</span></div>

>        Strangely, no "I don't like" in that ontology? I see Opinion could be used for it, but...
>> However, for a polling site, neither votelinks nor the example above are
>> appropriate. You're not trying to capture the meaning that "this page is
>> about something I like" - you're trying to capture the meaning of "this
>> link is for voting". I don't know of a microformat, or indeed an RDF
>> vocabulary, that covers that meaning, but I can certainly see value in
>> creating one.
>        Thanks for the clarification. Since their meaning is unclear (as you and the FAQ state), why not let them be used for this purpose as well? I suppose with a class or another attribute together one could separate what is a poll link (vote for this) and what is an opinion (I have voted for this).

The meaning of the link isn't unclear, the intent on whether the page
or the idea or person represented by the page is a little unclear. How
would adding extra ambiguity be at all usefule?

>       Otherwise, if vote-links are not used for polling and there is not (it seems) a microformat for it, how to propose a new one?

well, the process for defining a new microformat is explained here:


>        It would be nice to have a more general microformat for associating a target with a "label", more or less like xfn.

you mean tagging a linked-to page? that's what xfolk is for:


though in practice hReview seems to be used more widely for this.

> Again, the problem of "acting on" vs "having acted on" that confused me shows up. How about something like this rough draft to follow.
>        For acting on (polling):
> <div about="#something" class="item">
>        <a href="..." rel="action:like">I like cheese</a>
>        <a href="..." rel="action:blue">I think cheese is always blue</a>
> </div>
>        For having acted on (similar to vote-links)
> <div about="#me" class="item">
>        <a href="..." rev="opinion:like">I like cheese</a>
>        <p href="..." rev="opinion:blue">I think cheese is always blue</a>
> </div>
>        Although I think this later one should also have information about who likes it (perhaps an hCard), since we could, for example, have a list of expert opinions about cheese. But I don't like the exchanges of roles of "about" (I hope I got it right).

I think that HTML forms would likely be the dominant way to express a
voting user interface when you did the analysis of existing markup
that is a key part of the process; re-expressing this for links seems
like a big step back.

More information about the microformats-discuss mailing list