- From: Mark Birbeck <mark.birbeck@x-port.net>
- Date: Wed, 18 Jul 2007 13:03:51 +0100
- To: "Ivan Herman" <ivan@w3.org>
- Cc: "Ben Adida" <ben@adida.net>, public-rdf-in-xhtml-tf@w3.org
Hi Ivan, > Indeed, how do I then set the rdf:type for the _subject_? Yes...I apologise for jumping the gun and making it sound easier than it is. I realised the same thing as you a few hours after I sent my post. In my case I was looking at a use-case that I'm really keen on, which goes like this: A normal link in your blog might look like this: I found a good recipe in <a href="http://www.amazon.com/gp/product/0091808189"> Canteen Cuisine </a>. This is fine as a link to a book, but from the point of view of improving the web :) it's not great. Ideally we want to just put an 'identifier' in there for the book, and then let people do whatever they want to with it--buy it from a bookshop, add it to their wish-list, search for other books by the same author, and so on. This was quite straightforward with our old syntax, and a few months ago I blogged about how great it was that we could use this syntax: <span xmlns:bib="http://somebig.org/" about="urn:ISBN:0091808189" class="bib:book"> Canteen Cuisine </span> Which gives me this triple: <urn:ISBN:0091808189> rdf:type <http://somebig.org/book> . Now, as you rightly say Ivan, the problem is that we've recently started to define our rdf:type shorthand as being applied to the _object_ of a statement. And what's more, we've even started to say that if there is no object one should be created. In other words, if we have this: <span instanceof="bib:book"> Canteen Cuisine </span> we get: _:span0 rdf:type <http://somebig.org/book> . And again, as you point out, even if we add an @about: <span about="urn:ISBN:0091808189" instanceof="bib:book"> Canteen Cuisine </span> we don't get the triples I had earlier, unless we were to add some convoluted rules to say when @instanceof applies to the bnode and when to the @about. However, if we go back for a moment the original mark-up, i.e., the normal way to do a link: <a href="http://www.amazon.com/gp/product/0091808189"> Canteen Cuisine </a> We see it's usual to have a resource with no @rel value--i.e. nothing going 'upwards' to connect this to the containing document. Also, if we look at the triples I want: <urn:ISBN:0091808189> rdf:type <http://somebig.org/book> . you can see that they have no relationship to the containing document; I'm saying saying that 'x' is a book, which then allows the software to do all sorts of clever things with the identifier. Given these two things, why don't we just make this the best practice: <span resource="urn:ISBN:0091808189" instanceof="bib:book"> Canteen Cuisine </span> It follows the same pattern as @href, I think. Now, you could say that this will cause confusion over when to use @resource and when to use @about, but if (and it's a big 'if'...but not an impossible 'if') we go with the idea that Ben is suggesting, of resurrecting the idea that the object (if it's a resource) sets the subject for the context, then we would have a situation where the following would be perfectly legitimate: <span resource="urn:ISBN:0091808189" instanceof="bib:book"> Canteen Cuisine was written by <span property="dc:creator">Marco Pierre White</span> </span> In other words, in a world where 'the object sets the subject', @resource would be more commonly used than @about, and I think probably the only reason you'd need to use @about would be if you wanted to put a subject and resource object on the same element. Of course, it depends on how we go with resurrecting the 'chaining' approach from the original drafts, but if we do go that way, it saves having to have two attributes. One last thing that people might like to ponder; we discussed on last week's telecon how we'd all like to see browsers that are able to make use of metadata to create 'smart links' to other resources. (The discussion was in the context of whether we needed @resource, or if @href was sufficient.) It strikes me that changing the above mark-up one more step, so that the <span> is replaced with <a>: <a resource="urn:ISBN:0091808189" instanceof="bib:book"> Canteen Cuisine </a> might be one way to do it. In this mark-up, the author is effectively saying that they want some kind of interactive location to be created (denoted by the <a> tag). But what 'interactivity' is placed there will depend on an array of factors, such as the browser's capabilities, the user's preferences, and so on. We might end up with a personalised menu of links and actions such as 'add this book to my wish-list', but the main thing is that the author is indicating that the information the browser should use to create this 'menu of links' is the identifier 'urn:ISBN:0091808189'. This would mean that there is also a difference between this: <a href="http://www.amazon.com/gp/product/0091808189"> Canteen Cuisine </a> which creates a direct link to a web-page, and this: <a resource="http://www.amazon.com/gp/product/0091808189"> Canteen Cuisine </a> which creates a cluster of actions and links that are relevant to that web-page. That's in the 'interesting...but for the future' category, but I mention it because it makes me feel that we're heading in the right direction with some of the newer things we've decided. Regards, Mark -- Mark Birbeck, formsPlayer mark.birbeck@x-port.net | +44 (0) 20 7689 9232 http://www.formsPlayer.com | http://internet-apps.blogspot.com standards. innovation.
Received on Wednesday, 18 July 2007 12:04:18 UTC