Correct use of odrl:delayPeriod

Hi,

 

I have been looking for an example of odrl:delayPeriod being used but have not managed to find one anywhere.

 

I’m trying to express that a read action is permitted on a resource after a delay period of say 10 years from a specific date, say 1st January 2010. In other words, I want the assignee to be able to read the resource from the 1st January 2020.

 

The specification for delayPeriod states the following:

“A time delay period prior to exercising the action of the Rule. The point in time triggering this period MAY be defined by another temporal Constraint combined by a Logical Constraint (utilising the odrl:andSequence operand).. Right operand value MUST be an xsd:duration as defined by [xmlschema11-2].”

 

Which has led me to creating a policy that looks like this:-

 

<http://example.com/my-example-policy> rdf:type odrl:Policy, odrl:Offer ;

                odrl:target <http://example.com/some-resource>  ;

                odrl:conflict odrl:perm ;

                odrl:permission [

                                rdf:type odrl:Permission;

                                odrl:assigner <http://example.com/assigner> ;

                                odrl:assignee <http://example.com/assignee>;

                                odrl:action odrl:read;

                                odrl:constraint [

                                                rdf:type odrl:LogicalConstraint;

                                                odrl:andSequence [

                                                                rdf:type rdf:Seq;

                                                                rdf:_1 [

                                                                                rdf:type odrl:Constraint;

                                                                                odrl:leftOperand odrl:dateTime;

                                                                                odrl:operator odrl:gt;

                                                                                odrl:rightOperand "2010-01-01"^^xsd:date

                                                                ];

                                                                rdf:_2 [

                                                                                rdf:type odrl:Constraint;

                                                                                odrl:leftOperand odrl:delayPeriod;

                                                                                odrl:operator odrl:eq;

                                                                                odrl:rightOperand "P10Y"^^xsd:duration

                                                                ]

                                                ]

                                ]

                ] .

 

I’m just looking for some confirmation that this is on the right track. Specifically with regard to the first constraint triggering the delay period. If the delay period is not triggered by the other temporal constraint what else might it be triggered by?

 

Many thanks in anticipation.

 

Rob Walpole

rob.walpole@devexe.co.uk
Devexe Ltd. | Exeter, England 

Received on Friday, 16 July 2021 07:19:02 UTC