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

Constraints in ODRL

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

Since we are always short on time in our calls, I'm trying to outline my thoughts on constraints in ODRL now here.

Status Quo

Currently, the ODRL Information Model ED defines constraints in ODRL as follows:

Definition of ODRL Constraints (as of 11/08/2016)
The Constraint entity indicates limits and restrictions to the Permission, the Prohibition and the Duty entity. Constraints express mathematical terms with two operands and one operator. For example, the "number of usages" (name) must be "smaller than" (operator) the "number 10" (rightOperand).

If multiple Constraint entities are linked to the same Permission, Prohibition, or Duty entity, then all of the Constraint entities MUST be satisfied. That is, all the Constraint entities are (boolean) ANDed. In the case where the same Constraint is repeated, then these MUST be represented as a single Constraint entity using an appropriate operator value (for example, isAnyOf).

The Constraint entity contains the following attributes:

  • name: a name that identifies the left operand of the operation (REQUIRED)
  • operator: an operator function (REQUIRED)
  • rightOperand: the right operand of the operation (REQUIRED)
  • dataType: the datatype of the rightOperand (OPTIONAL)
  • unit: the units of the rightOperand (OPTIONAL)
  • status: the current value of the left operand (OPTIONAL)

The name identifies the left operand of the mathematical operation for the Constraint such as "Number of Usages" and "Expiration Date" etc. The operator identifies the comparative operation such as "greater than" or "equal to". The rightOperand identifies the value that is being compared. The dataType indicates the type of the rightOperand, such as "decimal" or "datetime" and the unit indicates the unit value of the rightOperand, such as "EU dollars".

When processing policy expressions, these Constraint names <ref>i.e., the left operand?</ref> MAY be directly linked to a procedure that can determine the outcome of the operations, such as the number of already performed usages and the current date. The name and operator are defined in the ODRL Vocabulary or community profiles.

The status provides the current value of the Constraint variable (i.e. current value of name). This is useful in cases where the current status of Constraints needs to be captured and expressed in the ODRL Information Model.

tbd

<references />