RE: ItemList examples

On 7 Aug 2014 at 19:02, Gregg Kellogg wrote:
> Given the potentially broad use of Roles, explicitly adding them to
> the range of every property using them doesn't help, 

This is true for the Role class itself (which is quite useless as-is IMO)
but not for more specific types such as OrganizationRole or PerformanceRole.


> and it doesn't convey the semantics that the membership property
> used within a Role must be the same as the property referencing
> the role; these are just some of schema.org's evolving semantics.

I still have to get used to that design but this is really a separate
concern IMO.


> My own reasoner (used in the Structured Data Linter) allows Role as
> the value of a property if that same property is used within the
> Role, and the value of that property is in range.

I'm concerned about the growing complexity for application developers that
do expect data to be in certain forms to be processable. All those
intermediary structures complicate processing.


> I think the same semantics work for a Role-based collection, but in
> that case the property is multi-valued and has an additional
> intermediate ListItem,

I still have to understand the advantage of using another property than
"item" but let's discuss that in the other thread I just started.


> although I could see circumstances where that
> was not used either, and it was really more like a multi-valued
> Role.

That would be a Set then, not a List, right?


> The use of ListItem does make this similar to the Ordered List
> Ontology [1].

Right. I'm wondering, however, whether for the basic cases it wouldn't
actually be simpler to just use rdf:Lists. Both JSON-LD and RDFa have
syntactic sugar that makes it trivial. For Microdata we could work around
that missing feature by introducing a special property like "list" (similar
to additionalType):

<div itemscope itemtype="http://schema.org/ItemList">
  <meta itemprop="mainContentOfPage" content="true"/>
  <h2 itemprop="name">Top 10 laptops</h2><br>
  <meta itemprop="itemListOrder" content="Descending" />
  **<div itemprop="list" itemscope>**
    <p>1. <span itemprop="itemListElement">HP Pavilion dv6-6013cl</span></p>
    <p>2. <span itemprop="itemListElement">Dell XPS 15 (Sandy
Bridge)</span></p>
    <p>3. <span itemprop="itemListElement">Lenovo ThinkPad X220</span></p>
  </div>
</div>

[adapted from http://schema.org/ItemList - no clue how the examples there
are supposed to be interpreted currently)



--
Markus Lanthaler
@markuslanthaler

Received on Thursday, 7 August 2014 19:59:40 UTC