Warning:
This wiki has been archived and is now read-only.

Duty Relations

From Permissions and Obligations Expression Working Group
Jump to: navigation, search

Duty Relations (First version)

Duty relations.png

odrl:duty

:permission1 odrl:duty :duty1 .   

=> :permission1 is only in effect if :duty1 is considered to be fulfilled.

odrl:consequence

:permission1 odrl:duty :duty1 .
:duty1 odrl:consequence :dc1 .   

=> :permission1 is only in effect if :duty1 is considered to be fulfilled. Exercising :permission1, but failing to prove the fulfillment of :duty1 results in :dc1 becoming effective.

:policy1 odrl:obligation :duty2 .
:duty2 odrl:consequence :dc2 .  

=> :duty2 has to be fulfilled. Failing to prove the fulfillment of :duty2 results in :dc2 becoming effective.

odrl:remedy

:prohibition1 odrl:remedy :remedy1 .   

=> If :prohibition1 is violated, :remedy1 becomes effective.

Duty Relations (Second version)

Second version of the model

In this second version, the consequences of non-fulfilling a duty or the remedy for violating a prohibition are not necessarily a duty, but a rule in general. The following policies can now be modelled:

  • P1: "You can have data traffic. But if you navigate more than 1Gb, Vodafone can lower the speed"
  • P2: "You cannot have P2P traffic. And if you do, we are obliged to report to police"
  • P3: "You can have data traffic. But if you navigate more than 1Gb, you cannot voiceIP."

The first violation led to a permission, the second to a duty, the third to a prohibition. The violation in both cases (called consequence/remedy) can be abstracted into a single term. Hence, the proposed solution is the mere addition of one property: failure (see in red below).

Version2.png

Other ideas

1. Avoid words with a strong legal bias. We mention 'remedies' and 'consequences', but we omit compensation, restitutions, punitions, injunctions, penalties, etc. I have chosen a more neutral word, more technology-related: failure.

2. Other policy languages?.

  • KAoS. The KAoS policy language also defines something similar. Policies (our rules) can be either 'authorization policies' (our permissions) and 'obligation policies' (our duties). If in the latter the obligations are not fulfilled, then other policies ('permissions or obligations') enter into force. You may want to check here: http://ontology.ihmc.us/ontology.html

Kaos.png

  • P3P. The P3P ontology (https://www.w3.org/P3P/2004/040920_p3p-sw.html) has some obscure elements. There is one class remedies, with three subclasses ("law", "correct" and "money"). Also see pag. 31 of the book "Web Site Privacy with P3P"
  • XACML. From a logical point of view, there is no distinction between a remedy and two rules. "You cannot smoke. And if you do, you pay a fine of $100USD". Can be modelled as a Prohibition+Remedy, but also it can be seen as a Permission with a Duty. Thus, XACML does not foresee anything like "failure", "consequence", or "remedy". Instead, this would be modelled as two rules with the proper combining algorithm (https://www.axiomatics.com/blog/understanding-xacml-combining-algorithms/). They are richer than ours, in any case.


3. It facilitates the implementation of a defeasible deontic logic system.

Duty Relations (Third version)

The proposed change consists of the addition of this figure to the model:

Error creating thumbnail: Unable to save thumbnail to destination

And this definition for :failure.

:failure
 a rdf:Property , owl:ObjectProperty, skos:Concept ;
 rdfs:isDefinedBy odrl: ;
 rdfs:label "Failure"@en ;
 rdfs:domain odrl:Rule ;
 rdfs:range odrl:Rule ;
 skos:definition "The destination rule is activated when the first rule is violated."@en ;
 skos:note "A prohibition is violated if any of the prohibited actions is acted. 
    A permission is violated if any of its actions is acted, and the duties are not satisfied 
    or the constraints not respected. 
    An on obliged duty is violated if the any of the action is not acted."@en .