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

Hi Dan,

Thanks for the update about

On the whole, I think introducing is an improvement, to allow additional context to be added to the role associated with the original predicate such as  

There might be other non-static / transient relationships elsewhere in that are currently being expressed via a simple predicate, where something analogous to a Role is required, just as we already have and (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 ) 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 

You can download it from		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 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 page - in the JSON-LD example, the predicate is correctly shown as - but for the Microdata and RDFa versions of the same example, the inverse property ( ) 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


Received on Wednesday, 18 June 2014 18:20:26 UTC