- From: Ivan Herman <ivan@w3.org>
- Date: Tue, 8 Nov 2016 15:54:59 +0100
- To: "Dr. Renato Iannella" <renato.iannella@monegraph.com>
- Cc: W3C POE WG <public-poe-wg@w3.org>
- Message-Id: <EB9046CC-570E-4D0C-B219-AE3D0BE1E918@w3.org>
Renato, forgive me, my knowledge of ODRL is still rusty… But: yes, indeed, the current vocabulary has restrictions on Constraint. Looking at the vocab definition, it is the object for the odrl:constraint predicate, whose domain is odrl:Rule. Per the vocabulary definition, odrl:Rule is "A common ancestor to Permissions, Prohibitions and Duties". Isn't it simpler to say that odrl:Rule is a common ancestor for Perm./Prohib./Duties as well as Constraint? Ie, everything there remains unchanged, except that you can also express a constraint on a constraint in a chain. We cannot avoid defining some additional semantics in English prose on all this, but that simple chaining of constraints seems to be simple enough. I realize this is very close to what you write; I just do not understand why changing any structures by moving the domain of constraints on Action/Name. Just extending the current domain of odrl:constraint seems to be the least disruptive thing to do… Cheers Ivan > On 8 Nov 2016, at 14:39, Renato Iannella <renato.iannella@monegraph.com> wrote: > > > I think the general issue is that we have associated the Constraint to the Perm/Prohib/Duty, when we should have associated it directly to the Action/Name. > > Michael’s example show that with the “odrl:constraintsubject” having to explicitly refer to the odrl:action. > > And this gets worse when we introduce support for Constraints on Asset’s and Parties. > > *IF* we move the constraint directly as a property of the Action/Name, then we could express: > odrl:permission [ > a odrl:Permission ; > odrl:target <http://example.com/music:4545 <http://example.com/music:4545>> ; > odrl:assigner <http://example.com/sony:10 <http://example.com/sony:10>> ; > odrl:action [ > a odrl:Action ; > rdf:value odrl:copy ; > odrl:constraint [ > a odrl:Constraint ; > odrl:count 1 ; > odrl:operator odrl:lteq > ] > ] > ] . > This makes the constraint clearly associated with the odrl:copy action (and all constraints in that Action will apply to the same). > > Then, when we add a Constraint to the Target, the subject is clear: > > odrl:target [ > a odrl:Asset ; > rdf:value <http://example.com/music:4545 <http://example.com/music:4545>> ; > odrl:constraint [ > a odrl:Constraint ; > spotify:artist <http://music.net/people:prince <http://music.net/people:prince>> ; > odrl:operator odrl:eq > ] > ] > And the same for Party: > > odrl:assignee [ > a odrl:Party ; > rdf:value <http://example.com/billie <http://example.com/billie>> ; > odrl:constraint [ > a odrl:Constraint ; > spotify:age 18 ; > odrl:operator odrl:gteq > ] > ] > > Then we have our favourite example…the constraint on a constraint. > The constraint “end of the football match” is further constrained by a “30 min time period”: > > odrl:action [ > a odrl:Action ; > rdf:value odrl:distribute ; > odrl:constraint [ > a odrl:Constraint ; > odrl:event <http://premier-league.com/end-of-match <http://premier-league.com/end-of-match> ; > odrl:operator odrl:eq ; > odrl:constraint [ > a odrl:Constraint ; > odrl:dateTime "P30M" ; > odrl:operator odrl:gteq ; > ] > ] > ] . > > > Renato > > ps: i’ve used rdf:value here but we could define our own predicate ---- Ivan Herman, W3C Digital Publishing Technical Lead Home: http://www.w3.org/People/Ivan/ mobile: +31-641044153 ORCID ID: http://orcid.org/0000-0003-0782-2704
Received on Tuesday, 8 November 2016 14:55:15 UTC