Re: [poe] Split LeftOperands into constraints and refinements

A note on the refinement of actions after suggesting changes to the definitions of LeftOperands in #284 

I'm afraid that it will be hard to draw a clear line between Constraints with a LeftOperand referring to the action of a Rule which are used as constraint of a Rule or as a refinement of an action without any further help (or relationships).

The definitions:
* The refinement property is defined for the Action Class in the current IM as: "one or more refinement property values (of type Constraint) that refine the semantics of the Action operation."
* the IM section 2.5.4 talks about "refinement property with an Action": "An Action MAY include the refinement property to indicate a Constraint/Logical Constraint that narrows the semantics of the Action operation directly. To meet this condition of narrower semantics for the Action, all of the Constraints/Logical Constraints referenced by the refinement property MUST be satisfied."

>From the discussions resulting in the new refinement property I recall statements like "the action may be generic, the refinement should add how exactly it should be exercised". 
But this is exactly what 20 out of 32 LeftOperands (see #284) do: e.g. Datetime refines any action to the point in time when it may be exercised, it narrows the semantics of "print" to "print only on 22 November 2017 or later". What is the difference to our main example of narrowing the "compensate" action to "compensate by paying 30 EUR" - which uses the odrl:compensate with the refinement odrl:paymentAmount?

With my experience in defining (IPTC) taxonomies I see this difference - and maybe a solution:
The odrl:compensate is defined as "To compensate by transfer of some amount of value, if defined, for using or selling the Asset." This definition shouts out "I need the definition of the amount of value, else I cannot be exercised". In other words: using odrl:compensate without a refinement doesn't make sense. And this need can be fulfilled by the odrl:paymentAmount LeftOperand.
Actions like display, distribute, index, modify, print or stream can be exercised without any further refinement. 
Actions like attribute need more: it may be required with which term/name/label the attribution should be exercised,

**My conclusion:** I suggest to set a relationship like odrl:needsRefinement (with a boolean value, default: false) for these actions who really need that. And a refinement SHOULD be applied only to Actions with <odrl:needsRefinement> "true". 
A next step would be having a relationship like odrl:toBeRefinedAction pointing from a LeftOperand to an Action it may be used with.




-- 
GitHub Notification of comment by nitmws
Please view or discuss this issue at https://github.com/w3c/poe/issues/282#issuecomment-346126792 using your GitHub account

Received on Tuesday, 21 November 2017 18:59:23 UTC