Re: HTML5 Polyglot spec and RDFa

I am a little bit afraid of over engineering, I must admit.

I am still not 100% sure that the issue raised by Gregg is, in practice, such a show stopper that it would warrant to change the current (clearly simplistic) solution. If the WG feels that there is an important use case here, then the Gregg-Manu approach may cover most of them and, it is, again, a simple approach that can be understood easily by outsiders, can be implemented easily and we can all be happy. Nathan, what you describe below is, obviously, a more complete solution but I really do not feel it is necessary to go that far. Yes,

<div about="http://example.com/#me" typeof="AGENT"> <span rel="agenT">

may/will go wrong. But, forgive me to ask: so what? :-)

As an author, I would expect (1) a proper documentation of what terms are available (and those are then case sensitive) (2) to follow the terms verbatim anyway, ie, I would not play with the lower and upper case unnecessarily. How many times do we see authors really exploit that rel="NeXt" is identical to rel="next'? I have never seen that in practice...

Ivan

On Oct 9, 2010, at 22:38 , Nathan wrote:

> Nathan wrote:
>> Gregg Kellogg wrote:
>>> Manu shared a thought in a separate chat, where we could potentially resolve this problem by first doing a case-sensitive match and falling back to a case-insensitive match if one wasn't found in the first case. So, you might have the following markup:
>>> 
>>> <div about="http://example.com/#me" typeof="Agent">
>>>  <span rel="agent"> ..
>>>  <a rel="CiTE">..
>>> 
>>> It could correctly match typeof="Agent" to foaf:Agent and rel="agent" to event:agent, but would match rel="CiTE" to xhv:cite because it would fall back to a case-insensitive match.
>> but it would fail to correctly match
>> <div about="http://example.com/#me" typeof="AGENT">
>>  <span rel="agenT">
> 
> The only places TERMs can appear are:
>  @datatype    // can only be a Datatype
>  @typeof      // can only be a Class
> 
>  @property    // can only be a Property
>  @rel         // can only be a Property
>  @rev         // can only be a Property
> 
> Thus we can clear up some of the ambiguity by adding some types to the rdfa vocab rdfa:ClassAlias, rdfa:DatatypeAlias, rdfa:PropertyAlias - this means that:
> 
>  only a rdfa:ClassAlias could be used with @typeof
>  only a rdfa:DatatypeAlias could be used with @datatype
> 
> leaving property, rel, rev to only ever consider rdfa:PropertyAlias
> 
> thus with a practical example:
> 
> [ a rdfa:PropertyAlias; rdfa:term "agent"; rdfa:uri "http://purl.org/NET/c4dm/event.owl#agent" ] .
> 
> [ a rdfa:ClassAlias; rdfa:term "Agent"; rdfa:uri "http://xmlns.com/foaf/0.1/Agent" ] .
> 
> So this way:
>  <div about="http://example.com/#me" typeof="Agent">
>  <div about="http://example.com/#me" typeof="AGENT">
>  <div about="http://example.com/#me" typeof="agent">
> 
> could only ever resolve to foaf:Agent
> 
> whilst:
>  <span rel="Agent">
>  <span rel="AGENT">
>  <span rel="agent">
> 
> could only ever resolve to event:agent
> 
> Make sense or have I missed something?
> 
> notes:
> - might need to add a rdfa:TermAlias which the others subclass so we can set the domain appropriately
> - not suggesting those exact names for the classes, just first thing I could think of for this mail!
> 
> Best,
> 
> Nathan


----
Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Sunday, 10 October 2010 08:15:28 UTC