[Odrl-version2] Proposal: Multiple Actions

Daniel Pähler tulkas at uni-koblenz.de
Wed Aug 4 01:45:14 EST 2010


Hello all,

Andreas and I talked about the suggestion to have several Actions per 
Permission, and we agree with Susanne: the model is clearer as it is at the 
moment.

If it were only for writing several Actions into one Permission element, that 
would not be a problem. But defining that a Permission may contain EITHER  
exactly one Action and zero or one Constraint OR many Permissions makes the 
whole Core Model more difficult. This fact can also be seen when trying to model 
this condition in UML: as far as I can tell, this could only be modelled by 
creating two subclasses of Permission. Till now though, the Core Model works 
without the "subclass-of" relation.

The advantage of having to write a little less XML code is not that useful in 
our eyes, since ODRL licenses are hardly ever handwritten in practical use 
cases. I would even argue that the opposite is the case: software that shall 
generate or interpret ODRL licenses will be more complicated to program if the 
Core Model becomes more complicated.

On Tuesday 03 August 2010 05:46:29 Steven Rowat wrote:
>     <permission>
>         <asset uid="urn:ebook:shakespeare:romeo+juliet"/>
>         <action name="http://odrl.net/2.0/action/display"/>
> 		<constraint ...>
>         <action name="http://odrl.net/2.0/action/print"/>
> 		<constraint ...>
>         <action name="http://odrl.net/2.0/action/copy"/>
> 		<constraint ...>
>        <assigner uid="william at shakespeare.biz"/>
>         <assignee uid="hamlet at denmark.lit"/>
>       </permission>

If I understand you correctly, you're suggesting to have Constraint as a 
subelement of Action, as in

<action name="http://odrl.net/2.0/action/display">
	<constraint ...>
</action>

This would introduce a new entity relation between Action and Constraint in 
the Core Model. In particular, this would make "Constraint" more difficult to 
understand: does it mean that a Permission is constrained or does it mean that 
an Action is constrained? Or, if both are possible, are the different 
expressions semantically identical?

My intuitive understanding is that only the Permission is constrained, not the 
Action that it allows.
 

> or, another way, by putting the constraint inside the action brackets, eg:
> 
>    <permission>
>         <asset uid="urn:ebook:shakespeare:romeo+juliet"/>
>         <action name="http://odrl.net/2.0/action/display"
> constraint= 'someconstraints'/>
>         <action name="http://odrl.net/2.0/action/print" constraint=
> 'someconstraints'
>         <action name="http://odrl.net/2.0/action/copy" constraint=
> 'someconstraints' />
>        <assigner uid="william at shakespeare.biz"/>
>         <assignee uid="hamlet at denmark.lit"/>
>       </permission>

If by this example you mean that the actual Constraint is included as the 
value of an attribute, then I would say that this would be hard to do: the 
Constraint entity from the Core Model does have four attributes itself, so we 
would have to write attributes and their values into the value of an 
attribute. Of course, a way to do this could be found, but interpreting the 
result would be more difficult that if you have Constraint as a separate XML 
element.

If, on the other hand, you mean that the "constraint" attribute contains only 
a reference to a Constraint entity that is defined elsewhere, then we would 
have to include a "uid" attribute in Constraint. I guess this could work, but 
it leads to the same problems as above: you would still need two (sub-)types 
of Permissions, and there would still be the ambiguity of "constrained 
Permissions" vs. "constrained Actions".

Greetings from Koblenz,
Daniel



More information about the Odrl-version2 mailing list