RE: Unit-Of-Count

Hi Renato,

Here’s a test example using ‘unit-of-count’ both for payment and for tracking (so the payments can be reconciled with the usage). The example also uses extended relations and complex constraints:

:perm2 a odrl:Permission ;
    odrl:assignee <...> ;
    odrl:assigner <...> ;
    odrl:target <...> ;
    odrl:action fisd:conventionalMarketDataUsage ;
    odrl:duty :duty1, :duty2, :duty3, :duty4. :duty5, :duty6 ;
    odrl:constraint :constraint1, :constraint2 .
With a duty to implement tracking either by Access ID (device independent) or Physical ID (device dependent):
  :duty3 a odrl:Duty ;
    odrl:action tr:implementTracking ;
    odrl:operation odrl:xor
    odrl:constraint :constraint3-1, :constraint3-2 .
  :constraint3-1 a odrl:Constraint ;
    tr:unitOfCount tr:AccessID .
  :constraint3-2 a odrl:Constraint ;
    tr:unitOfCount tr:PhysicalID .
And a price list:
  :duty4 a odrl:Duty ;
    odrl:action odrl:compensate ;
    odrl:operation odrl:xor ('xor': exclusive or)
    odrl:constraint :constraint4-1, :constraint4-2, :constraint4-3, :constraint4-4, :constraint4-5, :constraint4-6, :constraint4-7, :constraint4-8 .
Chose one of the following depending on the tracking regime and the service level required:
  :constraint4-1 a odrl:Constraint ;
    odrl:payAmount "65.28"^^xsd:decimal ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:AccessID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level1 with automatic update> .
  :constraint4-2 a odrl:Constraint ;
    odrl:payAmount "23.46"^^xsd:decimal ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:AccessID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level1 without automatic update> .
  :constraint4-3 a odrl:Constraint ;
    odrl:payAmount "77.52"^^xsd:decimal ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:AccessID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level2 with automatic update> .
  :constraint4-4 a odrl:Constraint ;
    odrl:payAmount "44.88"^^xsd:decimal ;
    odrl:operator odrl:eq ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:AccessID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level2 without automatic update> .
  :constraint4-5 a odrl:Constraint ;
    odrl:payAmount "81.60"^^xsd:decimal ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:PhysicalID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level1 with automatic update> .
  :constraint4-6 a odrl:Constraint ;
    odrl:payAmount "96.90"^^xsd:decimal ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:PhysicalID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level2 with automatic update> .
Pricing is a little cheaper if you qualify as a private individual:
  :constraint4-7 a odrl:Constraint ;
    odrl:payAmount "17.00"^^xsd:decimal ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:AccessID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level1> ;
    odrl:constraint :constraint4-7-1 .
  :constraint4-7-1 a odrl:Constraint ;
    odrl:name tr:nextAssignee ;
    odrl:operator odrl:isA ;
    odrl:rightOperand tr:PrivateIndividual .
  :constraint4-8 a odrl:Constraint ;
    odrl:payAmount "22.00"^^xsd:decimal ;
    odrl:unit <http://cvx.iptc.org/iso4217a:EUR> ;
    tr:unitOfCount tr:AccessID ;
    odrl:timeInterval "P1M"^^xsd:duration ;
    tr:serviceLevel <Level2> ;
    odrl:constraint :constraint4-7-1 .
On the 15th of every month you must report usage by providing a list of either Access IDs or Physical IDs:
  :duty5 a odrl:Duty ;
    odrl:action odrl:inform ;
    odrl:timeInterval "15"^^xsd:gDay
    odrl:operation odrl:xor
    odrl:constraint :constraint5-1, :constraint5-2 .
  :constraint5-1 a odrl:Constraint ;
    tr:unitOfCount tr:AccessIDList .
  :constraint5-2 a odrl:Constraint ;
    tr:unitOfCount tr:PhysicalIDList .
And you must be willing to be audited:
  :duty6 a odrl:Duty ;
    odrl:action tr:acceptAudit .

Another common 'unit of count' is tr:hostedDomain.

Ben

From: Renato Iannella [mailto:renato.iannella@monegraph.com]
Sent: 25 November 2016 02:24
To: W3C POE WG
Subject: Unit-Of-Count

@ben, trying to expand on the Unit-Of-Count use case:

  https://www.w3.org/2016/poe/wiki/Use_Cases#POE.UC.10_Pay-by-Use


In point 3, you say:

"         • The 'unit-of-count' concept goes beyond just payment. For example, it is also applicable to defining what should be tracked (odrl:acceptTracking) or reported (odrl:inform).”

Can you give examples of the unit-of-count for these two examples?

(Being tracked here: https://github.com/w3c/poe/issues/58<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_w3c_poe_issues_58&d=CwMFaQ&c=4ZIZThykDLcoWk-GVjSLm9hvvvzvGv0FLoWSRuCSs5Q&r=GQ6xvz2BG1vCgiGGeLHdL1qJLbLUqYG6W19eFBlznzDGH3wjzyriGVJemENTKsgx&m=rIn6M7G3ioyMRb8kP7EzOVnqSHJwdhEDh-Dad5ifohk&s=OXkvVKpJItC-ldeaLv_48fy24JJa9FvfZLrdy9l4jRs&e=>)


Renato Iannella, Monegraph
Co-Chair, W3C Permissions & Obligations Expression (POE) Working Group

Received on Monday, 28 November 2016 11:31:17 UTC