W3C home > Mailing lists > Public > public-vocabs@w3.org > March 2014

Re: schema.org Roles design

From: Gregg Kellogg <gregg@greggkellogg.net>
Date: Wed, 26 Mar 2014 23:06:23 -0700
Message-Id: <173CF08F-B1A6-4420-8D47-73AFD6DA966E@greggkellogg.net>
Cc: Jason Douglas <jasondouglas@google.com>, Aaron Bradley <aaranged@gmail.com>, Dan Brickley <danbri@google.com>, Ramanathan Guha <guha@google.com>, Public Vocabs <public-vocabs@w3.org>
To: Jarno van Driel <jarno@quantumspork.nl>
On Mar 26, 2014, at 7:31 PM, Jarno van Driel <jarno@quantumspork.nl> wrote:
> 
> "...What you wrote would be perfectly valid without that"
> It also illustrates what partially confuses me when you run it through Google's SDTT. The 'hasPos' of the Person refers back to the MovieRole (item 1). A loop.
> But if you lot say that's fine, I trust in that opinion. I always was under the presumption that loops should be prevented. Good to discover I was wrong in that. 
> 
> "Publishers don't need to include that itemid in their markup"
> OK, I thought I had figured it out but now I'm confused about @id again. Is not having it in Microdata already suffice because everything is linked together already; Are parsers able to get to the information that the Person had a role in a movie, without having the @itemid as well, by looking up into the chain?

@itemid is miss-understood. Yes, it's not necessary to have it for the markup to be valid, but universal identifiers for such items are important, if you subscribe to the Linked Data philosophy. Entities should be named, and when you dereferencable that name (URL), you should get back a description of that entity. Sometimes we combine multiple items in a web resource, and may not need to name all parts of it (e.g., the MovieRole referenced from a movie does not necessarily need to be named), but those items which should be universally understood (Bill Murray, Goastbusters) should be named with a URL.

JSON-LD and RDFa come from the point of view of Linked Data/Semweb, so the emphasize this more. Microdata is more about in-page structured markup, so it's been de-emphasized.

Why you might care in SEO is so that the entities you describe will lead to search engine visibility that will ultimately draw people back to your site; URLs are of obvious use here.

Gregg

>> On Wed, Mar 26, 2014 at 11:27 PM, Jason Douglas <jasondouglas@google.com> wrote:
>> 
>> 
>>> On Wed Mar 26 2014 at 3:21:34 PM, Jarno van Driel <jarno@quantumspork.nl> wrote:
>>> Just to make sure I got it right (or wrong), I've had a try add translating it to Microdata. Is this correct?
>>> 
>>> <div itemscope itemtype="http://schema.org/Movie">
>>> 	<span itemprop="name">Ghostbusters</span>
>>> 	<span itemprop="hasRole" itemid="movierole_678" itemscope itemtype="http://schema.org/MovieRole">
>>> 		<span itemprop="characterName">Dr. Peter Venkman</span>
>>> 		<span itemprop="actor" itemscope itemtype="http://schema.org/Person">
>>> 			<span itemprop="name">Bill Muray</span>
>>> 			<link itemprop="hasRole" href="movierole_678">
>>> 		</span>
>>> 	</span>
>>> <div>
>> 
>> Thank you for writing that out, I think it helps explain the confusion. 
>> 
>> Publishers don't need to include that itemid in their markup.  What you wrote would be perfectly valid without that.
>> 
>> Those IDs were included in the proposal for formal modeling reasons to show that the role can have identity.
>>  
>>> 
>>> 
>>>> On Wed, Mar 26, 2014 at 10:55 PM, Aaron Bradley <aaranged@gmail.com> wrote:
>>>> I'm baffled by @id as well.  Forget the RDFa/microdata/JSON-LD syntax differences for a moment, I've read the proposal but still don't know from whence the the @id values arise.
>>>> 
>>>> In the PDF where does...
>>>> @id "role321" come from? (e.g.1)
>>>> @id "movierole_678" come from? (e.g. 2)
>>>> @id "edurole25151" come from? (e.g. 3)
>>>> 
>>>> Are these arbitrarily assigned by the coder?  Are these serial?  And are they resolvable to an IRI?
>>>> 
>>>> And are they integral to the Role/hasRole proposal - that is, does everything break if they're not employed?  Am I correct in reading @ID in e.g. 1 ("role321") is the necessary entity referred to in order to have the "athlete property applied to the Role, instead of to a Team"?
>>>> 
>>>> Now returning to the syntax, I'd certainly I'd love to see any one of these marked up with microdata. :)
>>>> 
>>>> > it is important to find the right
>>>> > balance between ease of adoption for publishers, expressivity, ease of
>>>> > processing etc.
>>>> 
>>>> I appreciate the perseverance of list members.  While my technical expertise is limited I'm no slouch either, and Jarno ain't a slouch at all - so if @id/@id-like functionality is crucial here it does have implications for the "ease of adoption for publishers".
>>>> 
>>>> 
>>>> 
>>>>> On Wed, Mar 26, 2014 at 2:22 PM, Dan Brickley <danbri@google.com> wrote:
>>>>> On 26 March 2014 20:59, Jarno van Driel <jarno@quantumspork.nl> wrote:
>>>>> > Well if @id has the same role as 'itemref' then could there also please be
>>>>> > some info explaining how that works, because to be honest, I sort of
>>>>> > understand the proposal but am confused about @id/itemid. e.g. to me it
>>>>> > seems @id functions the same way as @resource does in RDFa, or at least
>>>>> > that's how I read it.
>>>>> 
>>>>> The following are all similar in RDF-based languages - they identify
>>>>> the entities being described:
>>>>> 
>>>>> RDF/XML: about= (for subjects, i.e. the thing that has the property),
>>>>> resource= (for objects, i.e. a thing that is a value of some property)
>>>>> RDFa 1.0: about= (for subjects), resource= (for objects),
>>>>> http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/#rdfa-attributes
>>>>> RDFa 1.1: about= (for subjects), resource= (for objects),
>>>>> http://www.w3.org/TR/rdfa-syntax/#A-about
>>>>> http://www.w3.org/TR/rdfa-syntax/#A-resource
>>>>> RDFa 1.1 Lite ... doesn't make this distinction; resource= works for
>>>>> either . http://www.w3.org/TR/rdfa-lite/#resource
>>>>> JSON-LD: @id http://www.w3.org/TR/json-ld/#node-identifiers
>>>>> Microdata: itemid=
>>>>> http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#global-identifiers-for-items
>>>>> 
>>>>> Most of these also have a way of using less-than-global local
>>>>> identifiers too, as a way of joining up a graph structure from
>>>>> different trees of markup. Microdata's itemref can also sometimes be
>>>>> used for that purpose but as already discussed it is a different kind
>>>>> of mechanism.
>>>>> 
>>>>> > Wouldn't the Person linking back to the AmericanFootballRole create an infinite loop?
>>>>> 
>>>>> This is no more problematic than someone being their mother's son.
>>>>> These languages are all oriented towards describing relationships; it
>>>>> is natural that sometimes there will be loops.
>>>>> 
>>>>> Dan
>>>>> 
>>>> 
>>> 
> 
Received on Thursday, 27 March 2014 06:06:55 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:29:38 UTC