Turning XHTML links into RDF statements

Hi all,

A few weeks ago, I started a private conversation with Steve Pemberton, 
Mark Birbeck, and Dan Connolly concerning some ideas and questions I 
had about turning XHTML links into RDF statements so that a clickable 
link could also include some real RDF semantics.

This conversation should have been had in public, so I'm reposting the 
emails here, after which I will post my response to Mark's last email.

-Ben Adida
ben@mit.edu
Tech Advisor, Creative Commons.


Begin forwarded message:

> From: Ben Adida <ben@mit.edu>
> Date: May 18, 2004 3:46:37 PM EDT
> To: Mark Birbeck <mark.birbeck@x-port.net>, Steven Pemberton 
> <steven.pemberton@cwi.nl>, 'Dan Connolly' <connolly@w3.org>
> Cc: Ralph R. Swick <swick@w3.org>, Eric Miller <em@w3.org>
> Subject: RDF in XHTML - Moving Forward on a Combined Solution
>
>
> Mark, Steven, Dan,
>
> I'm writing to help coordinate work between the SWBPD and XHTML 
> working groups with regards to RDF-in-XHTML. I had a fantastic chat 
> with Steven last night: It looks like a good solution is not far off.
>
> Here's where I think we stand:
> 1) The XHTML working group is actively working on RDF/XHTML. So is 
> SWBPD. Let's work together.
>
> 2) XHTML2 will allow the use of LINK and META tags outside of the 
> HEAD, thereby resolving one of my issues with Mark's initial proposal.
>
> 3) We need to find a way to turn an <A HREF> into a real RDF 
> statement. Steven mentioned the possibility that, in cases where an <A 
> REL= HREF=> element has no object pointer, then the object can default 
> to the HREF. This approach would solve another important goal: that 
> visible HTML should be "sync'able" with the underlying RDF statements.
>
> Here's what's interesting: we're really close to being able to define 
> a GRDDL transformation that takes in Mark's proposed syntax and 
> produces RDF/XML (or RDF/N3). Once issue #3 is handled, in fact, I 
> think this is doable. Once we do that, we are very close to a unified 
> solution.
>
> So, where do we go from here? Please send your thoughts and ideas. 
> Mark, can you also send the latest version of your proposal?
>
> I'm looking forward to this cooperation!
>
>
> -Ben Adida
> ben@mit.edu
>


Begin forwarded message:

> From: Dan Connolly <connolly@w3.org>
> Date: May 20, 2004 3:22:02 PM EDT
> To: Ben Adida <ben@mit.edu>
> Cc: Mark Birbeck <mark.birbeck@x-port.net>, Steven Pemberton 
> <steven.pemberton@cwi.nl>, "Ralph R. Swick" <swick@w3.org>, Eric 
> Miller <em@w3.org>
> Subject: Re: RDF in XHTML - Moving Forward on a Combined Solution
>
> On Tue, 2004-05-18 at 20:46, Ben Adida wrote:
> [...]
>> 3) We need to find a way to turn an <A HREF> into a real RDF 
>> statement.
>> Steven mentioned the possibility that, in cases where an <A REL= 
>> HREF=>
>> element has no object pointer, then the object can default to the 
>> HREF.
>
> I'm starting to understand, but I'm not sure I quite get it.
> Does anybody have an example handy?
>
> -- 
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
>
>


Begin forwarded message:

> From: Ben Adida <ben@mit.edu>
> Date: May 20, 2004 3:32:25 PM EDT
> To: Dan Connolly <connolly@w3.org>
> Cc: Mark Birbeck <mark.birbeck@x-port.net>, Eric Miller <em@w3.org>, 
> Steven Pemberton <steven.pemberton@cwi.nl>, "Ralph R. Swick" 
> <swick@w3.org>
> Subject: Re: RDF in XHTML - Moving Forward on a Combined Solution
>
>
>
> From Mark's Feb-14 version of RDF/XHTML 
> (http://www.w3.org/MarkUp/2004/02/xhtml-rdf.html), here's one way to 
> express an RDF statement in XHTML:
>
> <link about="#q1" rel="dc:source" 
> href="http://www.example.com/tolkien/twotowers.html" />
>
> This is fantastic *if* I can express it like this:
>
> <a about="#q1" rel="dc:source" 
> href="http://www.example.com/tolkien/twotowers.html">click here</a>.
>
> When I spoke with Steven, he mentioned that there might be conflict 
> here between "href=" and "resource=", in that the object of the RDF 
> statement would be expected in the "resource" attribute of the <A> 
> element. I'm not sure why that is the case for <A> elements and not 
> for <LINK> elements, but I trust Steven  because I'm not an XHTML 
> expert.
>
> We then discussed the possibility that, in the case where no resource 
> is specified, the href attribute would then be considered the object.
>
> Thoughts? Steven, did I get that right?
>
> -Ben
>
> On May 20, 2004, at 3:22 PM, Dan Connolly wrote:
>
>> I'm starting to understand, but I'm not sure I quite get it.
>> Does anybody have an example handy?


Begin forwarded message:

> From: "Steven Pemberton" <steven.pemberton@cwi.nl>
> Date: May 25, 2004 6:33:19 PM EDT
> To: "Ben Adida" <ben@mit.edu>, "Dan Connolly" <connolly@w3.org>
> Cc: "Mark Birbeck" <mark.birbeck@x-port.net>, "Ralph R. Swick" 
> <swick@w3.org>, "Eric Miller" <em@w3.org>
> Subject: Re: RDF in XHTML - Moving Forward on a Combined Solution
>
>> <link about="#q1" rel="dc:source"
>> href="http://www.example.com/tolkien/twotowers.html" />
>>
>> This is fantastic *if* I can express it like this:
>>
>> <a about="#q1" rel="dc:source"
>> href="http://www.example.com/tolkien/twotowers.html">click here</a>.
>
> Currently you can't do it, and there would be some opposition to 
> allowing
> this directly (even though something close to this is available in 
> HTML4).
>
> The problem is that @rel applies to @resource. The link above should 
> read:
>
>     <link about="#q1" rel="dc:source"
>       resource="http://www.example.com/tolkien/twotowers.html" />
>
> To do it with an <a> would need a repetition of the URI (here showing 
> the
> real use case):
>
>     <a about="#q1" rel="cc:licence"
>          resource="http://www.example.com/licence.html"
>          href="http://www.example.com/licence.html">click here</a>.
>
> Now I understand the motivation: to make things easy for the author (an
> endeavor that I support wholeheartedly). However, @resource is not
> necessarily dereferencable, and @rel doesn't apply to @href, so we are 
> in a
> bit of a bind. To special case or not?
>
>> When I spoke with Steven, he mentioned that there might be conflict
>> here between "href=" and "resource=", in that the object of the RDF
>> statement would be expected in the "resource" attribute of the <A>
>> element. I'm not sure why that is the case for <A> elements and not 
>> for
>> <LINK> elements, but I trust Steven  because I'm not an XHTML expert.
>
> <link> in XHTML2 uses @resource, not @href.
>
> Steven
>


Begin forwarded message:

> From: Ben Adida <ben@mit.edu>
> Date: June 2, 2004 2:39:10 PM EDT
> To: "Steven Pemberton" <steven.pemberton@cwi.nl>
> Cc: "Eric Miller" <em@w3.org>, "Dan Connolly" <connolly@w3.org>, 
> "Ralph R. Swick" <swick@w3.org>, "Mark Birbeck" 
> <mark.birbeck@x-port.net>
> Subject: Re: RDF in XHTML - Moving Forward on a Combined Solution
>
>
> Steve,
>
> Thanks for the insight and technical details.
>
> Yes, it's important to make things easy for the author, but I think 
> the issue is deeper and more important here. If we completely 
> dissociate human-readable XHTML (like clickable links) from RDF 
> statements, doesn't it make RDF less than 1st class in its XHTML 
> presentation?
>
> Specifically, what would you take the following statement to mean:
>
> <a about="#q1" rel="cc:license" resource="http://foo.com" 
> href="http://bar.com">click here</a>
>
> The user can click through to bar.com, but the RDF statement means 
> something completely different (foo.com)? Shouldn't these two be 
> inextricably linked in some way?
>
> You had mentioned the possibility that, if resource is unspecified, 
> then it could default to the value of href. That doesn't fully answer 
> my question above, but it might be related...
>
> -Ben
>


Begin forwarded message:

> From: "Mark Birbeck" <mark.birbeck@x-port.net>
> Date: June 2, 2004 2:55:55 PM EDT
> To: "'Ben Adida'" <ben@mit.edu>
> Cc: "'Dan Connolly'" <connolly@w3.org>, "'Eric Miller'" <em@w3.org>, 
> "'Ralph R. Swick'" <swick@w3.org>, "'Steven Pemberton'" 
> <steven.pemberton@cwi.nl>
> Subject: RE: RDF in XHTML - Moving Forward on a Combined Solution
>
> Hi Ben,
>
>> Specifically, what would you take the following statement to mean:
>>
>> <a about="#q1" rel="cc:license" resource="http://foo.com"
>> href="http://bar.com">click here</a>
>>
>> The user can click through to bar.com, but the RDF statement means
>> something completely different (foo.com)? Shouldn't these two be
>> inextricably linked in some way?
>
> Why? The RDF can say something is green when the CSS style says it's 
> red,
> why is there something particular to @href?
>
>> You had mentioned the possibility that, if resource is unspecified,
>> then it could default to the value of href. That doesn't fully answer
>> my question above, but it might be related...
>
> Personally I am against this, since it implies a knowledge of what 
> @href
> does. I am in favour of RDF/XHTML actually being RDF-Lite - i.e., it 
> can be
> incorporated into any mark-up. For example, SVG could usefully use our
> attributes.
>
> Regards,
>
> Mark
>


Begin forwarded message:

> From: Ben Adida <ben@mit.edu>
> Date: June 2, 2004 3:09:38 PM EDT
> To: "Mark Birbeck" <mark.birbeck@x-port.net>
> Cc: "'Ralph R. Swick'" <swick@w3.org>, "'Steven Pemberton'" 
> <steven.pemberton@cwi.nl>, "'Dan Connolly'" <connolly@w3.org>, "'Eric 
> Miller'" <em@w3.org>
> Subject: Re: RDF in XHTML - Moving Forward on a Combined Solution
>
>
> Hi Mark,
>
> Thanks for the input, I'm glad we've got a discussion going.
>
>> Why? The RDF can say something is green when the CSS style says it's 
>> red,
>> why is there something particular to @href?
>
> It seems to me that links are far more significant than presentation. 
> As far as I know, CSS can't change what XHTML links to. So in fact, 
> I'm pretty sure @href has specific properties already. Also, seems 
> like @resource is particular, isn't it? (see more on this below).
>
> Now, note my most important goal here: I want a user-clickable link to 
> become strongly typed as an RDF statement. That's all. If we resort to 
> two separate links, one that is user-clickable, the other that is RDF, 
> it seems to me we've failed at making XHTML a proper expression 
> mechanism for RDF. Why must the clickable target and the RDF target be 
> different?
>
>>> You had mentioned the possibility that, if resource is unspecified,
>>> then it could default to the value of href. That doesn't fully answer
>>> my question above, but it might be related...
>>
>> Personally I am against this, since it implies a knowledge of what 
>> @href
>> does. I am in favour of RDF/XHTML actually being RDF-Lite - i.e., it 
>> can be
>> incorporated into any mark-up. For example, SVG could usefully use our
>> attributes.
>
> I'm confused by this. If @rel applies to @resource, then there's 
> already some assumption about what @resource is doing. Why can't we 
> have some kind of type applied to @href? Maybe @rel is not the right 
> way to apply a type to @href, but I'm just not sure I see why 
> @resource is special in a way that @href can't be.
>
> I'm not familiar with the details of SVG, but even assuming that we 
> want RDF-Lite, how does my proposal break this? Thanks for the help!
>
> -Ben
>


Begin forwarded message:

> From: "Mark Birbeck" <mark.birbeck@x-port.net>
> Date: June 8, 2004 10:47:43 AM EDT
> To: "'Ben Adida'" <ben@mit.edu>
> Cc: "'Ralph R. Swick'" <swick@w3.org>, "'Steven Pemberton'" 
> <steven.pemberton@cwi.nl>, "'Dan Connolly'" <connolly@w3.org>, "'Eric 
> Miller'" <em@w3.org>
> Subject: RE: RDF in XHTML - Moving Forward on a Combined Solution
>
> Ben,
>
> Thanks for the reply.
>
>
>> It seems to me that links are far more significant than presentation.
>> As far as I know, CSS can't change what XHTML links to. So in
>> fact, I'm
>> pretty sure @href has specific properties already.
>
> In *your* requirement links are more significant, but I would still 
> suggest
> that it is because you are trying to solve a particular problem, and 
> the
> presentation may be more important to a server-side renderer or a voice
> browser.
>
>
>> Now, note my most important goal here: I want a
>> user-clickable link to
>> become strongly typed as an RDF statement.
>
> Sure ... I understand the requirement.
>
>
>> That's all. If we
>> resort to
>> two separate links, one that is user-clickable, the other
>> that is RDF,
>> it seems to me we've failed at making XHTML a proper expression
>> mechanism for RDF. Why must the clickable target and the RDF
>> target be
>> different?
>
> The same reason that RDF is different to the size of a font - my point
> remains that you are using some special knowledge that you have about 
> what
> one of the attributes in XHTML 2 represents. That is to say, you 
> 'know' that
> @href establishes the ability for a navigator to move from one 
> document to
> another, and you want to use that knowledge to establish an RDF 
> relationship
> between the two end-points. But I very strongly believe that this is 
> wrong,
> from both an XHTML point-of-view, and, as it happens an RDF one.
>
> With respect, I think you are using RDF a little loosely here - RDF 
> does not
> "establish links", clickable or otherwise. Perhaps that is the core of 
> our
> difference, since I feel that your proposal is conflating resources and
> documents; it just so happens that they are both represented by URIs, 
> but
> that does not mean that they can be used interchangeably.
>
>
>>>> You had mentioned the possibility that, if resource is
>> unspecified,
>>>> then it could default to the value of href. That doesn't
>> fully answer
>>>> my question above, but it might be related...
>>>
>>> Personally I am against this, since it implies a knowledge of what
>>> @href
>>> does. I am in favour of RDF/XHTML actually being RDF-Lite -
>> i.e., it
>>> can be
>>> incorporated into any mark-up. For example, SVG could
>> usefully use our
>>> attributes.
>>
>> I'm confused by this. If @rel applies to @resource, then there's
>> already some assumption about what @resource is doing. Why can't we
>> have some kind of type applied to @href? Maybe @rel is not the right
>> way to apply a type to @href, but I'm just not sure I see why
>> @resource
>> is special in a way that @href can't be.
>
> But that's the point - @resource is the *only* thing that is special. 
> With
> the new attributes you can carry RDF in any XML without knowing 
> anything
> about what the mark-up represents. But also, @resource only represents 
> a
> URI, not a 'link' as you refer to it. Maybe an example will help. If an
> author chooses to make a statement that some document has a property 
> called
> 'stylesheet' and the value of that property is the resource
> <http://blah.com/x.css> than that does not in any way imply that a 
> document
> really exists at that location, containing style rules. In other words 
> we're
> talking *real* RDF here. Now ... the fact that a browser would 
> hopefully
> implement a system whereby it tries to retrieve the stylesheet 
> referred to
> might be pretty good, but it also might be the case that there is no
> document that 'maps' to that resource, and in fact the browser should 
> use a
> look-up to retrieve some local *document* (stylesheet) identified by 
> the
> *resource*.
>
>
>> I'm not familiar with the details of SVG, but even assuming that we
>> want RDF-Lite, how does my proposal break this?
>
> The main thing is that it requires knowledge of what @href does, which 
> is an
> XHTML attribute.
>
>
> Having said all of this, I'm not at all saying that I don't have 
> sympathy
> for the problem. But I don't think we can just declare the equivalence 
> of a
> document identified by @href and the subject of an RDF triple and be 
> done.
> So, to illustrate the way I am thinking, here are a couple of 
> solutions that
> I feel keep with the spirit of what we are doing. I'm not saying they 
> are
> perfect, but they do keep things consistent, and may give food for 
> thought
> for a real solution.
>
> (1) You just use <a href="..."> as is, to identify the CC license in 
> the
> document, and then in your triple store you add an inference that says 
> that
> the resource with a URI that is the same as that used in the @href 
> attribute
> of the link, has an rdf:type of CC license.
>
> (2) You drop the <a href="..."> and instead have a <link rel="cc:lic"
> resource="..." /> statement in the header. We then ensure that future 
> XHTML
> 2 web browsers make use of this type of meta information to render a
> navigable link to users so that they can read the licence. (This is a
> general requirement, since there are many other features that can be 
> used,
> like @rel="next" and @rel="previous", which have no mandated 
> behaviour, but
> a syntax is provided.)
>
> Personally, I could live with either of these - number 1 because it 
> seems
> right to me that we draw a sharp line between a simple link and the
> statements made about some document; and number 2 because I think 
> XHTML 2
> browsers should do a lot of this sort of thing, making use of meta 
> data to
> show author and document properties, and so on.
>
> I hope this helps clarify at least where I am coming from in my 
> resistance
> to the proposal as it stands.
>
> Best regards,
>
> Mark
>
>
> Mark Birbeck
> CEO and CTO
> x-port.net Ltd.
>
> Download our XForms processor from
> http://www.formsPlayer.com/
>


Begin forwarded message:

> From: Dan Connolly <connolly@w3.org>
> Date: June 8, 2004 12:37:12 PM EDT
> To: Mark Birbeck <mark.birbeck@x-port.net>
> Cc: "'Ben Adida'" <ben@mit.edu>, "'Ralph R. Swick'" <swick@w3.org>, 
> "'Steven Pemberton'" <steven.pemberton@cwi.nl>, "'Eric Miller'" 
> <em@w3.org>
> Subject: RE: RDF in XHTML - Moving Forward on a Combined Solution
>
> On Tue, 2004-06-08 at 09:47, Mark Birbeck wrote:
> [...]
>> With respect, I think you are using RDF a little loosely here - RDF 
>> does not
>> "establish links", clickable or otherwise.
>
> Hmm... I think it does.
>
> I wonder... why are we not having this conversation in
> http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/ ?
>
> [...]
>
> -- 
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
>
>

Received on Monday, 14 June 2004 12:37:22 UTC