RE: Extended Relations + Constraints On Constraints proposal

[FWD to WG list for Michael]

Hi Renato and WG,
re some details of the suggested solutions below:
 
* sorry, but I can’t follow this detail in the section about Extended Relations: “… each left and right operand would be two constraint objects …”. Having a look into [1] I would formulate: “a constraint could have other constraints as objects of the left and the right operand and the operator of this constraint sets a relationship between these two other constraints”. Did I get [1] right?
 
* re “constraint on constraint”: I understand Renato’s suggestion as defining a sequence of constraints: first comes constraint c1 and if it is met next comes constraint c2 (… and so on). By my understanding of the term “depend” it links constraints but doesn’t set a sequence. I suggest as new Constraint property hasPriorConstraint and its object must be another constraint of this permission or duty which must be processed prior to this one – a processor would have to go back to the starting sequence. 
 
An alternative and easy to process design of constraint sequence would be:
:c1 a odrl:Constraint ;
                odrl:operator odrl:eq ;
                odrl:leftOperator …
                odrl:sequenceid “a”
                odrl:sequencenumber 1
 
:c2 a odrl:Constraint ;
                odrl:operator odrl:eq ;
                odrl:leftOperator …
                odrl:sequenceid “a”
                odrl:sequencenumber 2
 
:c3 a odrl:Constraint ;
                odrl:operator odrl:eq ;
                odrl:leftOperator …
                odrl:sequenceid “b”
                odrl:sequencenumber 1
 
:c4 a odrl:Constraint ;
                odrl:operator odrl:eq ;
                odrl:leftOperator …
                odrl:constraintSequence
                odrl:sequenceid “b”
                odrl:sequencenumber 2
 
… if a processor encounters a constraint with a sequenceid it must only look for the lowest sequencenumber of this sequenceid
 
* re “c1 odrl:dependsOn c2” = “constraint 1 depends on constraint 2”: wasn’t the intention to say “constraint 2 depends on constraint 1” = the subject and the object of the triple should be switched. 
And if we make this assertion a property of a constraint the subject of the triple is implicitly “this constraint”. See my thoughts about the semantics of the predicate above.
 
* re the example: sorry but by existing constraint left operand I can’t see how to solve the classic example:
Permission: action = Display
Constraint 1: leftOperand = Action Datetime (or Period), rightOperand = the timestamp of the end of the event (could be a URL delivering it in real-time), operator = greater than or equal
Constraint 2: leftOperand = Action Datetime (or Period), rightOperand = ?? how to express “30 minutes later that a specific timestamp”, operator = greater than or equal, (new) priorConstraint = c1
 
Best,
Michael
 

Received on Monday, 23 January 2017 12:02:58 UTC