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

Re: Schema.org v1.6 release candidate: Roles, various fixes, site navigation improvements

From: Mark Harrison <mark.harrison@cantab.net>
Date: Wed, 18 Jun 2014 19:19:56 +0100
Cc: "Jason Johnson (BING)" <jasjoh@microsoft.com>, Dan Brickley <danbri@danbri.org>, Vicki Tardif Holland <vtardif@google.com>
Message-Id: <092F5156-D87C-4E34-BA48-822C3F7E65B0@cantab.net>
To: public-vocabs@w3.org
Hi Dan,

Thanks for the update about http://schema.org/Role

On the whole, I think introducing http://schema.org/Role is an improvement, to allow additional context to be added to the role associated with the original predicate such as http://schema.org/actor  

There might be other non-static / transient relationships elsewhere in schema.org that are currently being expressed via a simple predicate, where something analogous to a Role is required, just as we already have http://schema.org/Event and http://schema.org/Order (representing a record of a transaction).

However, I think there is now a need to update the documentation for the recently 'overloaded' predicates ( such as http://schema.org/actor ) to mention that a schema:actor property may accept a schema:Person OR a schema:Role as its value and it may ALSO be used with a type of schema:Role.  

It might also be helpful to provide some guidance that if anyone was using SPARQL queries on RDF data expressed using predicates such as schema:actor , they might need to change the WHERE clause of their query to use (SPARQL v1.1) predicate paths / property chains, to expect schema:actor+ instead of schema:actor , since schema:actor is being re-used to connect a schema:Movie to a schema:Role and a schema:Role to a schema:Person, as well as directly from a schema:Movie to a schema:Person.  Alternatively, a SPARQL query could introduce an intermediate ?role variable and match on 

	?movie schema:actor ?role .  
		?role schema:actor ?actor .  

in addition to the existing 		?movie schema:actor ?actor  .  	pattern that they may already have in their WHERE clause.

I have prepared a small zip file to illustrate two ways in which existing SPARQL queries can be modified to support the introduction of an intervening node of class http://schema.org/Role 

You can download it from http://www.autoidlabs.org.uk/GS1Digital/schema-role-test.zip		and try it out with any SPARQL v1.1 implementation such as Jen ARQ.

Please feel free to include such guidance to SPARQL users in the schema.org documentation for the introduction of schema:Role , to help users cope with data that does / does not make use of schema:Role .

Furthermore, I noticed an inconsistency in the third example in the http://schema.org/Role page - in the JSON-LD example, the predicate is correctly shown as http://schema.org/alumniOf - but for the Microdata and RDFa versions of the same example, the inverse property (http://schema.org/alumni ) is shown by mistake.  This appears to be just a copy-paste error from example 2 on that page.

I hope this helps!

Best wishes,

- Mark


Dr. Mark Harrison
Senior Research Associate, Distributed Information and Automation Laboratory
Director, Auto-ID Labs at Cambridge 
Institute for Manufacturing
University of Cambridge
17 Charles Babbage Road
Cambridge, UK
CB3 0FS

E-mail:  mark.harrison@cantab.net
http://www.autoidlabs.org.uk
Received on Wednesday, 18 June 2014 18:20:26 UTC

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