w3c / odrl

ODRL Community Group Repository
https://www.w3.org/community/odrl/
Other
18 stars 9 forks source link

odrl:payAmount (possible for 3.0?) #59

Open joshcornejo opened 1 month ago

joshcornejo commented 1 month ago

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 .
riannella commented 1 month ago

Can you use rightOperandReference ? https://www.w3.org/TR/odrl-model/#constraint-class

joshcornejo commented 1 month ago

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.
riannella commented 1 month ago

Yes...add more examples !!!