w3c / odrl

ODRL Community Group Repository
https://www.w3.org/community/odrl/
Other
18 stars 9 forks source link

Semantics for overlapping Permissions #23

Closed Jimflip closed 1 year ago

Jimflip commented 1 year ago

Hi

Permission 1 grants use of all apps on my iPhone.

Permission 2 grants use of the WhatsApp app, but has the duty to gain consent first.

These two permissions seem to overlap, and if I wanted to use WhatsApp application Permission 2 is intuitively the more specialised permission to use. However, a computer could find Permission 1 and side step the duty to gain consent.

It could be argued the permissions are poorly modelled, in which case what would be the best way to assign a duty to a very specialised subset?

Any opinions on this?

Thanks, James.

Jimflip commented 1 year ago

I think the question I'm trying to answer, are Permissions completely independent from each other?

If so in my above example Permission 2 would be pointless, as you could always use Permission 1 without the obligation.

benedictDD commented 1 year ago

Hi James,

Here's how I see it:

If I were offered Permission 1 by network A and Permission 2 by network B, I'd opt for network A, all other things being equal.

Here's an analogous example we met recently:

Permission 1 allows the use of an asset for £10 with no constraint on the purpose of the use.

Permission 2 allows the use of an asset for £1 but only for the purposes of product development.

If I wanted to do some product development with this asset, I could use either permission. But if I were sensible, I'd use permission 2.

Hope this helps,

Ben

riannella commented 1 year ago

Model the permissions to capture your use case...

Here is something that comes to mind....

x:p1 a o:Permission ; o:target [ rdf:type a:AssetCollection; o:uid: ] o:action: o:play .

o:partOf o:hasPolicy x:p2 x:p2 a o:Permission ; o:target ; o:action: o:play ; o:duty [ #add stuff here ].
Jimflip commented 1 year ago

Hi Ben and Renato

In hindsight I don't think my example was a good one :) I think the issue is really about expressibility, of how to describe a very broad usage with a small exception.

I think I've a solution, using Bens example (as the issue is more around constraints than Asset collections), but with the permissions being from the same assignor.

Permission 1 allows the use of an asset for £10 with a constraint on the purpose of the use NOT being product development.

Permission 2 allows the use of an asset for £1 but only for the purposes of product development.

I'd only considered the use of constraints for specialising by positive matching, forgot they could be a negation. Alternatively the constraint on Permission 1 could use a list of purposes and O:isAnyOf, and just not have 'product development' in the list.

i think that adequately solves my issue.

Also I think Permissions are independent except where a Prohibition may clash and we then have the conflict strategy.

Thanks for the help!