odrl:payAmount (possible for 3.0?)
In practice, prices will vary independently from policies, generating policies on the fly with allocated prices is not always going to be practical (most likely a small percentage of use cases). One option is to decouple the value of the payment from normative MUST be xsd:decimal and introducing a URI reference to a pricing list that can change independently. A second option is to introduce a new operand (odrl:paymentReference / odrl:pricingReference) that can separately evaluate at runtime the cost based on < asset, action, pricing list >.
:payAmount
a :LeftOperand, owl:NamedIndividual, skos:Concept ;
rdfs:isDefinedBy odrl: ;
rdfs:label "Payment Amount"@en ;
skos:definition "The amount of a financial payment. Right operand value MUST be an xsd:decimal. "@en ;
skos:note "Can be used for compensation duties with the unit property indicating the currency of the payment."@en ;
skos:scopeNote "Non-Normative"@en .
Can you use rightOperandReference ?
https://www.w3.org/TR/odrl-model/#constraint-class
I am doing that at the moment ('the price for this action for this asset is ... over there') ... i am not sure that the payAmount wording is aligned with how the lifecycle of assets and prices are "updated" in separate planes. People will either move to build this in a new profile (extra cost of interoperability) or miss the value of duties (too disconnected from the real world).
If rightOperandReference is the right way forward, perhaps we should add more examples for clarity?
ex:someConstraint a odrl:Constraint;
odrl:leftOperand odrl:payAmount;
odrl:operator odrl:eq;
odrl:rightOperandReference ex:RoURI.
ex:RoURI a ex:ExampleRightOperandURIDefinition;
ex:assetRef ex:AssetURI;
ex:pricingRef ex:PriceListURI.
Yes...add more examples !!!
Added @joshcornejo to add the example to the best practices document.
reminder for @joshcornejo to create a pull request in the best practices document. Please note that if "fibo" vocabulary elements are present, they are preferred.
This was fixed with odrl:RightOperandReference