New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to evaluate the results of Permission, Prohibition and Duty #223
Comments
Re the definitions of the obligation property (2.5.4), duty property (2.5.5) and remedy property (2.5.7)
(This split of evaluating Active/Not-Active and the Rule results was/is a free decision, the evaluation of ODRL Rules would also be possible without this split.) |
I really find Active/Non-Active confusing with the 3 Rule types (its the same as using Effective). Active has an even wider definition: http://www.thefreedictionary.com/active So, when it says a "Duty is Not-Active", hence not functioning, not currently in use or effect, you get the sense that you don't have to do anything... |
which reflects the intended semantics. Example: <http://example.com/policy:42>
a odrl:Policy ;
odrl:permission [
a odrl:Permission ;
odrl:target ex:asset_9898 ;
odrl:action odrl:reproduce ;
odrl:assigner ex:Alice ;
odrl:assignee ex:Bob ;
odrl:duty [
a odrl:Duty ;
odrl:action odrl:obtainConsent ;
odrl:consentingParty ex:Alice ;
odrl:constraint [
odrl:leftOperand time:dayOfWeek;
odrl:operator odrl:isAnyOf ;
odrl:rightOperand time:Saturday, time:Sunday ;
]
]
] .
On weekends, however, he has to |
Hmmm.... So, tomorrow (saturday) Bob gets consent from Alice, so reproduces the Asset. Next saturday, why does Bob have to "fulfill" this Duty again? (He already got consent from Alice on a Saturday) |
Re @riannella 's question in the previous comment: maybe the duty action obtainConsent does not fit perfectly in this example. A duty like "pay 10 EUR" would fit better: for getting a permission from Monday thru Friday no Duty is Active, only on Saturdays and Sundays the duty is Active = you have to pay. |
the spec only says:
but does not specify how you have to check whether a duty is fulfilled or not. Previously it said that you can use constraints for that, but generally you don't have to. As such it's up to implementors to decide whether duties have to be fulfilled every time they are evaluated or whether duties can keep their state of "fulfilledness". TL&DR: ODRL does not specify whether switching duties on/off has any effect on their "fulfilledness". |
My conclusion as of 28 August: the initial posting of this issue was based on an understanding of "active" not aligning what the IM has in mind after merging many occurrences of "in effect" - see #225. An open issue is the question: by which exact activity should the action of a Duty get the state "exercised"? Either ODRL defines one or ODRL defines that this could or even should be defined by the duty actions specified by a Profile. (E.g.: I fully support that "payAmount" could be exercised by adding the amount to list of amounts which are paid monthly = in 10 days and not now.) |
I've created a draft of guidelines for evaluating the result of a Permission, Prohibition or Duty
https://docs.google.com/spreadsheets/d/1vej4EwEZjUM2yYJwBggJxHlSTCinyuMPCulKIeHNTA0/edit?usp=sharing
... in the lower section of the table.
The result of a Permission is named Has-Permission or No-Permission, of Prohibition Is-Accepted or Not-Accepted and Duty the well known Fulfilled or Not-Fulfilled.
The naming of Permission and Prohibition results are my suggestion.
The text was updated successfully, but these errors were encountered: