RE: What exactly is stated by Non-/Active?

. back to POE from other work:

 

First to underline: for me, with my IPTC/RightsML hat on, interoperability
is a key requirement. Talking to potential users of a REL on the news
provider side I hear quite often: "how can it be secured that my clients get
what I want to tell them"

And the user of an asset (e.g. in the editorial of a news provider client)
wants to know:

*	May I exercise this Permission?
*	Do (planned) actions regarding an asset violate a Prohibition?
*	Do I fulfil an obligation?

ODRL will be accepted  if its information model provides answers to this
question.

I think this is very close to what you, Ben, say below.

But how to make the two implementation agree on the states -  relevant is
the final state - of  rules?

 

Therefore the IM should define Rule Processing rules for retrieving the
required information from a Policy to answer the questions above. 

And different implementations should be enabled by that to generate the same
results for the same policy and the same context (regarding assignee,
target, parameters for constraints etc.)

 

Because of that the Truth Tables on the Evaluator page are not sufficient.
The examples there reflect only a small set out of the many variants of
Rules - find attached 2 JSON files outlining some variants, and only a
minority of them got an answer by the Truth Tables.

 

And Truth Tables are a casuistic answer to questions.

As the ODRL design covers many components (constraints of Rules, refinements
of actions, the exercising of actions, duties, remedies, consequences) which
can take different (sub-)states and this would result in many dozens of
combinations which would all have to be covered by Truth Tables it would be
much better to write down the rules how the states shown in such Truth
Tables should be generated - rule driven, not case driven.

But Result/Truth Tables generated by different implementations could help to
check if they "agree on a the states of rules".

 

The Active or Not-Active values in the Truth tables raised my question in
Github issue #245: what does an "Active" state mean? 

 

Simply said: I see no chance for having an interoperable ODRL without quite
strict rules (covering ambiguity as far as possible) for generating the
final state of a Rules - answering the questions above.

 

The (current) definition of the Classes define primarily their semantics and
their structure but not the impact of its evaluation result on the Rules
including/using them. 

Quick example: Constraint in a Rule
(https://w3c.github.io/poe/model/#constraint-rule) 

Definition of a constraint property: "An Rule (.) may include the constraint
property to indicate a condition on the Rule". But this section does not say
any word about the impact of satisfying or not satisfying the constraint
when evaluating the Rule. And I think it was a valuable decision to merge
such statements into a single section, the Rule Processing section.

 

Best,

Michael

 

 

From: benedict.whittamsmith@thomsonreuters.com
[mailto:benedict.whittamsmith@thomsonreuters.com] 
Sent: Tuesday, September 5, 2017 4:17 PM
To: renato.iannella@monegraph.com; public-poe-wg@w3.org
Subject: RE: What exactly is stated by Non-/Active?

 

Hi Renato, 

 

I agree with much of what you say. I'd only add one further criterion for
interoperability: that two implementations that have a common understanding
of the world must agree on the states of the rules in a policy.

 

Now we have nothing to say on how an implementation comes to understand the
world - this is likely to be domain (aka profile) specific. But if two
happen to agree, then they should interpret the rules in a policy in the
same way.

 

This is why we need a 'standard' evaluator.

 

It seems to me that the IM + the 'truth tables' to test against are enough
to build an evaluator and enforce this second level of interoperability.

 

Michael: is it only the line above that leaves you uncomfortable? 

 

Should we be saying more about how to build an evaluator? In which case I
like Renato's idea of a Note to Implementors. 

 

Or are you asking for greater clarity in the IM?

 

Ben

 

  _____  

From: Renato Iannella [renato.iannella@monegraph.com]
Sent: 05 September 2017 14:37
To: POE Public
Subject: Re: What exactly is stated by Non-/Active?

 

On 5 Sep 2017, at 20:08, Michael Steidl (IPTC) <mdirector@iptc.org
<mailto:mdirector@iptc.org> > wrote:

 

I've got the feeling that members of this group have different views on the
role of the Non-/Active state of Rules and I raised the need of a
clarification of that as new Github Issue
<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_w3c_poe_iss
ues_245&d=DwMFaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=6zKsY0rYbam
T39VLwFyiNRQq5kP9V8VfXNbeD0GwlqvjGIQo1uv383jKtxD77PlM&m=PMiwASO7bywlZnE5KU06
TXcdSYNo2MGorMP681_Fo3w&s=jgeKd0zb7KUwqUz4YhaFDYUd_Lc_Yt8YgizjM_AgYXE&e=>
#245 

I consider this as prerequisite for writing an agreed Rule Processing.

 

Michael, thanks for your hard diligent work on this.

 

It has been tough to understand the fluid viewpoints over this issue...

 

But, I want to raise a bigger issue here.and that is the fundamental
requirement of W3C specs: interoperability.

 

Publishing and consuming ODRL Policies is the core aspect of
interoperability. Two (independent) systems can interchange ODRL Policies
knowing they are "valid" and conform to the IM spec.

 

All the current discussion on "Rule Processing" is stuff that happens by
individual implementations.

Once a system has the ODRL Policy, then it can "evaluate" it and generate
valid/satisfied/fulfilled states.

But that is only for its own use, no other party sees that.

(And as we just saw, the state is completely "black box" contextual. Another
implementation with the same Policy could generate different states.)

 

I don't want to discount "Rule Processing", its important to some, but I
would argue that it is not important to all implementations.

 

I can imagine an implementation that publishes/consumes ODRL policies, loads
them into a graphDB, and hits it with all kinds of SPARQL queries:  "Can
Billie play music file X in Australia on a Wednesday?" Answer: "Only if she
pays 0.005 bitcoins by Tuesday"

Did this implementation needs these states? I am not convinced.

 

I think that the best way forward is to focus the CR Exit Criteria on
validity and conformance to the ODRL IM.

(BTW, conformance still means that a Permission is allowed, a Duty must be
fulfilled, a Prohibition is not allowed, and a Constraint satisfied.)

 

I would strongly recommend those that favour the Rule Processing approach to
document that as a NOTE for implementors.

 

The other advantage to this approach is that we lower the barrier for
implementors to  address the CR criteria, thereby, enhancing the opportunity
for greater participation and proof to the W3C to go to PR.

 

Renato

Received on Tuesday, 5 September 2017 20:01:28 UTC