- From: Ivan Herman <ivan@w3.org>
- Date: Thu, 05 Jul 2007 15:58:23 +0200
- To: mark.birbeck@x-port.net
- CC: Steven Pemberton <steven.pemberton@cwi.nl>, Ben Adida <ben@adida.net>, public-rdf-in-xhtml-tf@w3.org
- Message-ID: <468CF8FF.3020001@w3.org>
Well... if you two guys still disagree after all these years, that may be one more argument _against_ using @role (not necessarily _for_ @class, another attribute might also do...):-) Mark Birbeck wrote: > Hi Steven > > On 05/07/07, Steven Pemberton <steven.pemberton@cwi.nl> wrote: >> On Thu, 05 Jul 2007 13:26:30 +0200, Mark Birbeck >> <mark.birbeck@x-port.net> >> wrote: >> >> > My argument has always been that something 'playing the role of x', is >> > not the same as 'something being x', and so @role should not represent >> > rdf:type. >> >> I've never understood this argument, which seems to be based on what >> things mean in English. Something "being of class X" is also not the same >> as "something being X". But so what? The question is about the mapping to >> RDF. > > The rationale for my argument has nothing to do with that slippery > language English, and everything to do with what things 'mean' in RDF. > > In RDF, if you say something is of type 'x' then all sorts of other > statements become legitimate. So if I firstly say that 'a toolbar' has > a property of 'collection of buttons', and then I subsequently say > that 'the second <div> in my document is a toolbar', then it is > legitimate to act as if the second <div> in my document has a property > of 'collection of buttons'. > Mark, for the records, I am not sure this is true. To formalize it in RDF what you seem to say is that if: [[[ toolbar a rdfs:Class. collectionOfButtons a rdfs:Property; rdfs:domain toolbar. 2ndDiv a toolbar. ]]] then we can deduce that... what? Only that 2ndDiv collectionOfButtons "something". is consistent with these, but we _cannot_ deduce that such a triple exists somewhere. You can do what you describe with OWL cardinality constraints describing things on collectionOfButtons... Actually, we can do something different with those. If the facts are that [[[ toolbar a rdfs:Class. collectionOfButtons a rdfs:Property; rdfs:domain toolbar. 2ndDiv collectionOfButtons "something". ]]] then even in RDFS we can deduce that [[[ 2ndDiv a toolbar. ]]] which is somewhat different from what you said. The second example shows that, indeed, rdf typing may have consequences (for example if OWL is used), ie, your core argument holds, just the example does not:-) Ivan > My argument is that to deduce this set of additional statements from > @role is a step too far, and is more than was ever intended with > @role. We can certainly safely say 'the second <div> in my document > _is playing the role_ of a toolbar on this page'. Here we are simply > saying something about the 'intent' of the mark-up, or its purpose, > and the following triples capture that: > > <_:a> xh:role wai:toolbar . > > But that is a world away from saying that the <div> we are dealing > with is *indistinguishable* from a wai:toolbar, which is what this > means: > > <_:a> rdf:type wai:toolbar . > > The thing is we don't lose anything from not defining this as > rdf:type, and we gain a lot. By only saying that something is 'playing > the role of', we allow other systems to infer what they think is > appropriate about those roles. ARIA is a case in point; it has a set > of statements that are being made about certain resources. But we do > lose something if we say that @role="wai:toolbar", because that means > that the <div> is now an actual, real-live toolbar, and that will > invariably be incorrect or meaningless. > > So in my view, if we want a shorthand for rdf:type, it must be either > @class or a new attribute. > > Regards, > > Mark > -- Ivan Herman, W3C Semantic Web Activity Lead URL: http://www.w3.org/People/Ivan/ PGP Key: http://www.cwi.nl/%7Eivan/AboutMe/pgpkey.html FOAF: http://www.ivan-herman.net/foaf.rdf
Received on Thursday, 5 July 2007 14:11:38 UTC