Re: The processing rules for property/rel

Just another, maybe even more heretic point:-)

What would be the consequences if

- we changed the behaviour of the @rel/@typeof combination the same way as you propose @property/@typeof? To keep the symmetry between the two...
- we restricted the whole change to @typeof only which has a peculiar behaviour anyway...

Just musing before going home...

Ivan



On Oct 31, 2011, at 13:22 , Ivan Herman wrote:

> Gregg,
> 
> (I hope it is all right to involve the group here)
> 
> I understand the motivation, looking at some of the microdata examples although. But I am also afraid a bit of the 'story', so to say, ie, how would you really present this as a consistent model on RDFa rather than looking as a spaghetti code...
> 
> 1. Difference between @rel and @property. If we take the minimalist approach, there is a good deal of consistency in the story: they behave mostly identically, except for the fact that @property does not generate chaining. That would still be true in a setting like
> 
> <a property="blah" href="Foo"><span property="bar">Something</span></a>
> <a rel="blah" href="Foo"><span property="bar">Something</span></a>
> 
> The difference between the two being what the subject is for the (? <bar> "Something"): chaining or not chaining. 
> 
> 2. However, your extra change would also mean that
> 
> <a property="blah" about="Foo"><span property="bar">Something</span></a>
> <a rel="blah" about"Foo"><span property="bar">Something</span></>
> 
> would be radically different, right? The first one would generate
> 
> <> <blah> <Foo> .
> <Foo> <bar> "Something" .
> 
> whereas the second would say... nothing. Indeed there would be hanging rels of the form (<Foo> <blah> ?) and those are not resolved.
> 
> Now this may mean that the behaviour defined for @rel is not optimal, but I do not believe we should go there and change that, too... But what we would have is a very different behaviour between the two; I would have difficulties to provide a clear picture/mental model on the differences. Maybe it is only me...
> 
> So my question is: what kind of consistent picture can we give on what @property does and what @rel does? The situation in RDFa 1.0 is clear for RDF people: one generates a Literal object the other an IRI Resource object. The minimalist extension of the @property behaviour means that they usually behave the same way, except that @rel controls also chaining and it is also to be used for substructures. This is still fine. But what would one say if with a maximalist extension is adopted?
> 
> Ivan
> 
> P.S. B.t.w., just to have a clear understanding... the minimalist @property behaviour would indeed not change the mapping of 
> 
> [[[
> <div itemscope itemtype="http://schema.org/Event">
> <div itemprop="offers" itemscope itemtype="http://schema.org/AggregateOffer">
>   Priced from: <span itemprop="lowPrice">$35</span>
>   <span itemprop="offerCount">1938</span> tickets left
> </div>
> </div>
> ]]]
> 
> its RDFa 1.1 expansion would be something like
> 
> [[[
> <div typeof="http://schema.org/Event">
>  <div rel="offers">
>    <div typeof="http:schema.org/AggregateOffer" >
>      Priced from: <span property="lowPrice">$35</span>
>      <span property="offerCount">1938</span> tickets left
>    </div>
>  </div>
> </div>
> ]]]
> 
> with the maximalist @property behaviour I believe what would be needed is:
> 
> [[[
> <div typeof="http://schema.org/Event">
> <div property="offers" typeof="http://schema.org/AggregateOffer">
>   Priced from: <span property="lowPrice">$35</span>
>   <span property="offerCount">1938</span> tickets left
> </div>
> </div>
> ]]]
> 
> 
> 
> On Oct 31, 2011, at 01:53 , Gregg Kellogg wrote:
> 
>> On Oct 29, 2011, at 8:30 AM, Ivan Herman wrote:
>> 
>>> 
>>> On Oct 29, 2011, at 17:04 , Gregg Kellogg wrote:
>>> 
>>>> On Oct 29, 2011, at 2:19 AM, "Ivan Herman" <ivan@w3.org> wrote:
>>>> 
>>>>> I realized that your tests, both in this mail and on the wiki page, are based on the additional chaining behaviour you define for @property. SOrry about that, but at this moment I am still rather against that part of the changes, as I will explain in the answer to Ben's longer email...
>>>> 
>>>> Only the last couple of tests involve chaining. I'd be fine if we left that part out. I'll separate them in my tests.
>>>> 
>>>> What would the effect of @property with @typeof be? Would you expect @property to take on the literal value of the element? This would be the complete opposite if Microdata's behavior; wouldn't that be just a new source of errors?
>>> 
>>> I do not know about microdata. But if I look at the RDFa structure, the consistent approach is that @typeof sets the subject just as it does anywhere else. If we changed that, this would be a complete mess: in most of the cases it sets the subject, and it is used as an object for @property...
>> 
>> @typeof does set the subject, it just set's _new subject_. The affect of @property with @typeof is to create a relationship from _parent subject_ to _new subject_. If you look at most any schema.org example, it uses chaining using a similar rule:
>> 
>> <div itemscope itemtype="http://schema.org/Event">
>> <a itemprop="url" href="nba-miami-philidelphia-game3.html">
>> NBA Eastern Conference First Round Playoff Tickets:
>> <span itemprop="name"> Miami Heat at Philadelphia 76ers - Game 3 (Home Game 1) </span>
>> </a>
>> 
>> <meta itemprop="startDate" content="2016-04-21T20:00">
>>   Thu, 04/21/16
>>   8:00 p.m.
>> 
>> <div itemprop="location" itemscope itemtype="http://schema.org/Place">
>>   <a itemprop="url" href="wells-fargo-center.html">
>>   Wells Fargo Center
>>   </a>
>>   <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
>>     <span itemprop="addressLocality">Philadelphia</span>,
>>     <span itemprop="addressRegion">PA</span>
>>   </div>
>> </div>
>> 
>> <div itemprop="offers" itemscope itemtype="http://schema.org/AggregateOffer">
>>   Priced from: <span itemprop="lowPrice">$35</span>
>>   <span itemprop="offerCount">1938</span> tickets left
>> </div>
>> </div>
>> 
>> Replace @itemprop with @property, remove @itemscope, and replace @itemtype with @typeof, and you pretty much have the proposed behavior. If you didn't do this, we'd need to add BNode identifiers where none were otherwise needed.
>> 
>> Gregg
>> 
> 
> 
> ----
> 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
> 
> 
> 
> 
> 


----
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 Monday, 31 October 2011 15:21:02 UTC