The processing rules for property/rel

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

Received on Monday, 31 October 2011 12:22:57 UTC