- From: Simon Steyskal <simon.steyskal@wu.ac.at>
- Date: Tue, 09 May 2017 09:05:05 +0200
- To: Phil Archer <phila@w3.org>
- Cc: POE WG <public-poe-wg@w3.org>
> A smart WG will create a validator (somehow). Something for the SPECIAL > project? fwiw, following SHACL shapes check for those conditions: odrl:PolicyShape a sh:NodeShape ; sh:targetClass odrl:Policy ; sh:nodeKind sh:IRI ; sh:property [ sh:path [ sh:alternativePath ( odrl:permission odrl:prohibition ) ] ; sh:minCount 1 ; ] . odrl:PolicyTypeShape a sh:NodeShape ; sh:targetSubjectsOf odrl:permission ; sh:class odrl:Policy . odrl:PolicyTypeShape2 a sh:NodeShape ; sh:targetSubjectsOf odrl:prohibition ; sh:class odrl:Policy . you can test them here http://shacl.org/playground/ using following data graph: @prefix odrl: <http://example.org/ns#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix schema: <http://schema.org/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . odrl:Set rdfs:subClassOf odrl:Policy . [] a odrl:Set; odrl:permission [ a odrl:Permission ; odrl:target <http://example.com/asset:9898> ; odrl:action odrl:reproduce ] ; odrl:prohibition [ a odrl:Prohibition ; odrl:target <http://example.com/asset:9898> ; odrl:action odrl:modify ] . <http://example.com/policy:0099> odrl:permission [ a odrl:Permission ; odrl:target <http://example.com/asset:9898> ; odrl:action odrl:reproduce ] ; odrl:prohibition [ a odrl:Prohibition ; odrl:target <http://example.com/asset:9898> ; odrl:action odrl:modify ] . <http://example.com/policy:00992> a odrl:Set . <http://example.com/policy:valid> a odrl:Set; odrl:permission [ a odrl:Permission ; odrl:target <http://example.com/asset:9898> ; odrl:action odrl:reproduce ] ; odrl:prohibition [ a odrl:Prohibition ; odrl:target <http://example.com/asset:9898> ; odrl:action odrl:modify ] . br simon --- DDipl.-Ing. Simon Steyskal Institute for Information Business, WU Vienna www: http://www.steyskal.info/ twitter: @simonsteys Am 2017-05-08 16:35, schrieb Phil Archer: > Dear all, > > I just failed to have this ready for today's call but it exists now > and I'll extend it before next week's F2F. > > As we have discussed several times, I believe we need a test suite. > Next week's first agenda item will be to discuss the concept of an > ODRL Process - what does it mean etc. These are all tied together of > course. > > All I've done so far is to take the first normative statement from the > model doc and created a mini test suite for it, which in fact is > copied from the old example 1. The current text in the model says: > > A Policy MUST have the following properties: > > The uid identification of the Policy. > The type indicating the specific type of Policy. > A permission and/or prohibition Rule. > > So I copied example 1 as a valid example and then deliberately 'broke > it' to create three invalid instances. > > The idea is that you build an ODRL Processor (whatever we decide that > means) and you can test that it accepts the first example and raises > an error with the other 3. For valid examples, I'm suggesting that we > include an 'interpretation' line, i.e. this is what this policy means. > > Some points: > - this is just an example; > - it will need to change if we formally resolve that odrl:Set is the > default; > - the external files will need to be created and served via conneg. > > This is what I meant on today's call about the complexity of the test > suite etc. increasing with every rule we introduce. > > A smart WG will create a validator (somehow). Something for the SPECIAL > project? > > Phil
Received on Tuesday, 9 May 2017 07:05:38 UTC