Re: About a more strict definition of Constraint

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