- From: Michael Steidl \(IPTC\) <mdirector@iptc.org>
- Date: Mon, 23 Jan 2017 11:02:38 +0100
- To: "'Renato Iannella'" <renato.iannella@monegraph.com>
- Message-Id: <00b501d2755f$d4236cc0$7c6a4640$@iptc.org>
[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