W3C

Permissions and Obligations Expression Working Group Virtual F2F

05 Dec 2016

Agenda

See also: IRC log

Attendees

Present
phila, renato, Serena, simonstey, Michael, ivan, michaelS, benws111110, victor, benws, sabrina, James_
Regrets
Chair
Renato, Ben
Scribe
Phil, Serena, simonstey, victor, michaelS

Contents


<phila> scribeNick: phila

Scribe duties

phila: Will start

Serena: Second slot

michaelS: Later, after constraints

<simonstey> simon: I'll do the 3rd one

<michaelS> I'll do the 4th

renato: I'd like to go through approved req issues (green ones) first
... The go through editorial ones after that
... Going from GH issues

<renato> try this: https://mit.webex.com/mit/j.php?MTID=me949e9479628ccd68d29fec3cc71c0da

Last meeting minutes

<michaelS> +1

benws: Any objection to https://www.w3.org/2016/11/28-poe-minutes.html?

<Serena> +1

RESOLUTION: Minutes of 28 Nov approved

Information model

benws: See https://github.com/w3c/poe/issues

<renato> https://github.com/w3c/poe/milestone/1

-> https://github.com/w3c/poe/issues/62 Issue 62

scribe: See also https://github.com/w3c/poe/issues/59
... 58
... 56
... 60

<michaelS> please add 81

renato: We've seen examples on the list and we've discussed this a lot in the telcos. Need to come to a consensus around constraints on constraints

<renato> https://github.com/w3c/poe/issues/62

renato: There are various comments on that
... including some from michaelS
... Questioning whether we need constraints on constraints

michaelS: From my reading -= what exactly is a constrainty on a constraint?
... In some cases it's combining constraints. But I think it's altready defined that multiple constraints are ANDed
... so what is a constraint on a constraint?

renato: The idea is that a c on a c, they still both apply to the action
... But the 2nd constrraint applies to the first
... Classic example was the 30 mins after a football match image
... So action is to distribute the photo

benws: It's a technique. It's where there is more than one right operand to check
... Constraints allow us to do that

renato: That's a fair description
... So a ConC helps to resolve issue 60
... If we had the ability to say what the actual subject of the constraint is explicitly, then we can say that a C is constyraining another C.
... Issue 60 then helps us solve issue 62
... The solution is, in the model, we have another attribute of subject. That allows us to explicitly say that the constraint is on the action, or it can be on another constraint

benws: Given that a constraint has a name, can't we... [breaking up]

<simonstey> +q

benws: ... it has a URI, so we can address it ... can't we use odrl:constraint to attach the constraint in the same was we do something else

simonstey: If we start to attach ConC, what are the intended semantics?
... e.g. permission, a C might give a period of time. If attach an additional C, what does that mean>? Can i attach any kind of C to any other kind?
... What if there is a large chain?
... What does an arbitrary set mean?

michaelS: My question is in a similar direction.
... IPTC has RightsML use cases that incluide combined constraints. Like image can be used everywhere except UK but only for a limited time
... But we do that already

<simonstey> +q

michaelS: I don't see a need to say that the temporal constraint is a C on the spatial one

benws: In that example, you're correct. But an embargo can't

<michaelS> http://dev.iptc.org/RightsML-Combined-Example-geographic-and-time-period

<simonstey> -q

benws: Each right operand can be checked separately, but for an embargo, you need to know both end of the event and the hour after
... An eg I've put in the constraint renaming paper. I've put an example to use this left operand resource, which identifies the event. And the C defines a period after the event
... And that's all in a single constraint. So you have 2 right operands in a single constraint?

michaelS: No, I added a resource to the left operand
... So the end event is the left operand
... and the right operand is the period afterwhich the action can be performed

benws: OK, that might work for an embargo
... But there are other more complex ones

michaelS: We wanted the flexibility of the free text

asck me

<Zakim> phila, you wanted to womnder aloud if we ever need more than 2. If not, can we think of sub constraints

<michaelS> q

victor: Is the name ConC a problem? How about extended info on constraints? Or is it more than that?

simonstey: I think it's way more than that.
... Even this sub constraint, what does that mean? It means different things. e.g. for a pay amount of a daytime constraint
... Inheritance comes in. Are things overwritten or partially overwritten?
... But I think it would help to not allow an arbitrary collection.
... Extending the left operand might work.
... It's those extended relations that might hold the key.
... Some ORing, maybe
... Another option might be to constraint a whole package

victor: AIUI, this idea of ConC operates differentely in different examples
... The only common point that we have is that it provides extra info and a simple constraint can't be defined
... I agree that a clear model is more important than a clear name.

simonstey: It's important to state that the time period only begins when X happens
... There are situations where you don't want them both checked at the same time or sequentially.

renato: From this conversation - do we have enbough info that we can make a sensible decision?
... It sounds as if there are odd cases where it works but the general is more problematic
... If we can't come up with a good solution maybe we shouldn't keep trying

benws: We're doing it with a payment constraint
... The additional unit, GBP, USD
... If we add in the unit of count, we're sneaking in an additional predicate.
... We are creating a a special case. You sometimes need an extra predicate

victor: Do you have an example online?

benws: If you have a payment amount, you need to include the currency

<renato> https://lists.w3.org/Archives/Public/public-poe-wg/2016Nov/0065.html

benws: If it's about location, you'll need to include IP address or whatever

renato: That example has a pay amount example with a unit and a unit of count

michaelS: I think we should make a distinction... the right operand is an entity and that could have properties.
... If you want to express a financial amount, that includes a currency, it's not a constraint, just a property of the right operand
... Issue 58... we talked about what a unit of count actually is. I feel it's another constraint, not a ConC

benws: But if you define the amount that needs to be paid, in order to define the unit, how do you connect that to the pay mount comnstraiont?

michaelS: The unit is part of this constraint.

simonstey: I agree with Ben on that issue.
... There are situations where ConC makes sense, e.g. pay 100, then say the currency.
... So that's a constraint on a constraint.
... This combination makes sense, and we've sneaked this into the model
... But there other situations where this unit thing doesn't make sense.
... it's saying you can't pay $100, you have to pay €100

michaelS: I can't agree with that. If you want to define an amount for payment... this colour value has no reason.
... If you have to say how much money, you need to say what currency

simonstey: If I don't care about the unit, it's not wrong...

benws: It's even more obvious in unit of count. Is it for an access ID, a physical ID etc.
... Otherwise we don't know what the payment is for.

michaelS: In my answer to issue 58, I said why is this not a constraint

benws: Because the subject of the constraint, current model, is the action.

michaelS: But these are siblings

renato: So in https://lists.w3.org/Archives/Public/public-poe-wg/2016Nov/0065.html
... Look at the duty
... There's a constraint of a unit of count and a time interval.
... So the currency is constrained and there's a time constraint

michaelS: Unit is a part of the amount

<Zakim> phila, you wanted to remark that's still only 2 constraints and to talk about https://www.w3.org/TR/dwbp/#LocaleParametersMetadata

-> https://www.w3.org/TR/dwbp/#LocaleParametersMetadata

phila: Talks about locale neutral data and only 2 levels of CofC

benws: On the first implementation, I might think that 2 levels is enough. Then I might find a future more complex version that needs a chain and I'd have to write code to support any number of constraints
... I see no reason to limit us to 2. 3 would be rate, 4 very rare, but the world is a big plavce.

phila: OK

renato: So where are we?

benws: I'd like to understand Michael's solution for an embargo more

renato: Did you write some pseudo code for that michaelS?

michaelS: Regarding this event and period, I have put this in the constraints

<michaelS> https://www.w3.org/2016/poe/wiki/Constraints#Definition_of_the_Left_Operands.2FNames_of_Constraints

michaelS: That says left operand defines the end of the event
... The left operand resource states sthe end of the event. The right operand states the period. After that the action can be (not)performed

benws: So if we were to look at a pay amount constraint
... Would you say that left operand unit: Euro?
... Would that be a solution?

michaelS: We could use it like that. We have our pay amount...

simonstey: You're saying that you can have those generic left operands and explain in plain text what those left operands are
... So you end up with a a super-large left operand
... The machine provides the end of the event, but I have to know that the end of the event is not when this starts.

michaelS: This left hand operand would give the end of the event as the start. You get the 30 mins from the right

benws: Can a machine understand this?

michaelS: We talked about this on 15/11. WE said that most of the processes need to be hand crafted

<Sabrina> this sounds like linear constraints which is outside of OWL

michaelS: You can have lots of left operands, and you have to adjust your code

benws: You might have that, but I'm hoping for profiles that can automate this process.

michaelS: That's why I proposed to add the left operand so you can see it automated.
... SO maybe TR can define that count has to be taken from a TR resource and this resource is the reference for checking against the value of count in the right operand/.

<renato> https://lists.w3.org/Archives/Public/public-poe-wg/2016Nov/0074.html

benws: When you say that, it sounds right, but then I see you have to read the text. It seems the language doesn't have the semantics to express something relatively simple.

renato: I was trying to work out that the left operand 1-9 meant
... Is there a URI for getting the current count, for example?

michaelS: Yes
... The free text defines that you have to check a reference against the right operand. To have that machine processable, you can provide the URI that gives the official count.
... And Ben you said that free text doesn't make you happy. What I propose allows using an API for retrieving the count value

renato: Does you event end period, does that contain a URI of the event or the period of time you wait after the event.

michaelS: The simple solution is that the left operand provides an ID for the event. But that doesn't work as you want the end of the event, not the event itself
... But an event organiser might provide a URL that provides the timestamp of the end of the event. Ping thsat until you get a timestamp and then start counting.

renato: We're getting into a processing model - how a system would communicate
... I'm sending a request to a URI and whether I get a response and what response I get starts to matter.

benws: It seems we're jumping to the processing model far too early

renato: So where do we go from here on ConC?

<simonstey> can't we just point to an instance of type https://www.w3.org/TR/owl-time/#time:TemporalEntity

<victor> +1

renato: Is there agreement that we need one level of ConC?

<Serena> +1

benws: I think we def need one or more

<Sabrina> +1

renato: A profile can restrict numbers of constraints, from a model POV, we need to allow the general case

michaelS: To clarify... which count are we talking about? Are we talking about the levels of constraints, or how many consytraints at the first level?

renato: In theory, we can have 10 constraints
... The Q then is, within any of those Cs, are they further constrained, should we put a limit on how many there could be?

<Serena> *phila, do you want me to take the hand for scribing?*

<Serena> *ok!*

benws: Let's clarify ...
... Whatever solution should be machine processable. Secondly may require more than 1 predicate/.

PROPOSED: Constraint handling should be machine processable

renato: Expressable or processable?

benws: I want the language to be able to express permissions without having to read free text.

renato: Is 'industry is education' is that machine processable?

benws: Yes

michaelS: The Q is, is this as strict so that all constraints MUST be machine processable, but is it a goal?
... I only want to point to the existing constraint that says you need to read the policy

<simonstey> +q

benws: Include those in scope

ivan: I'm a little bit scare of this... if we do that, then we will have to prove interop. Then we get into a required processing way.

benws: I don't think we're specifying a means of processing it [Breaking up]
... [missed] in theory processable

ivan: We need to be careful how we formulate that

benws: We're not specifying a processing model, at this stage, we're saying at this stage that a machines doesn't need to go off and read free text.

ivan: In theory I agree with that. But if we have constraints that include time
... So we'd need to specify this

benws: I think Michael has done a lot on this

ivan: Isn't it better to say that ODRL should be self contained and not depend on additional prose.
... I am worried about the terms processing and processable here. It raises potential flags and interop issues

simonstey: The Q is whether you meant verifiable
... There are things you can't necessarily check

<ivan> Proposed: ODRL constraints SHOULD be self contained and not depend on additional prose.

simonstey: Something like 'review policy'

ivan: That'[s why it says SHOULD not MUST
... There might be cases where this is not achievable, but the goal is not to depend on additional propose

<Zakim> phila, you wanted to talk about related current future work

phila: Talked about verifiable claims and OWL Time

michaelS: Does ODRL have to express *everything*?
... A typical use is to complement something like a 10 page contract
... for example, constraints of spatial and temporal use. These are typical in news.
... The machine readable data will need to interpret the full text.
... There may be constraints in a 10 page contract that are not expressed in the ODRL policy
... So I'm not happy about having a strict requirement that everything must be machine readable

benws: I didn't mean that

michaelS: That's how I read it.

benws: It's clear to me that an ODRL policy is an interpretation for a purpose
... It should be understood without ref to free text

victor: Or at least say that for a full interpretation you need to see the full text

michaelS: We have a duty for that

benws: There's no sense on my part that ODRL is meant to be a full representation of the contract. That won't happen

victor: Can we matrk those constraints that can and can't be digitally evaluated?

benws: Let's come back to that. And come back to the proposal

victor: I think it's the same
... distinguishing those that are self-contained and not

benws: I think you're conflating expressability and processability

Proposed: ODRL constraints SHOULD be self contained and not depend on additional prose.
... ODRL constraints SHOULD be self contained and not depend on additional prose, noting that it may be a subset of a larger human readable policy.

<CarolineB> +1

<ivan> +1

<Sabrina> +1

<Serena> +1

<michaelS> 0

<renato> +0.5

<simonstey> +1

<michaelS> What exactly is "additional prose"?

michaelS: I put my user hat on. If you want to process a constraint, you have to read the left operand. Is that dependent on additional prose?

benws: No
... you have to learn the language

simonstey: I think michaelS is talking about custiome left operands

<victor> +0.5 (explanation: some constraints should be self-contained and processable, some others can be "additionalTextConstraint". The important thing is to have ANNOTATED the status of each term)

michaelS: So again for this count value.. it doesn't say from where you get the counts.

benws: No, it means that the language should be riche enough to tell people where to get the count from
... How do we define constraint so that we can include that in the defintion

michaelS: All info?

benws: Enough!
... How do we design constraints so that there is enough info

RESOLUTION: ODRL constraints SHOULD be self contained and not depend on additional prose, noting that it may be a subset of a larger human readable policy.

PROPOSED: A constraint SHOULD carry enough information to check whether it has been satisfied

<michaelS> +1

<Serena> *I agree with Simon*

benws: The previous proposal is only about whether the solution relying only on the semantics on ODRL. Now we're saying that constraints should be able to check whether they've been satisfied

<renato> About "this long"

<michaelS> Enough = enabling the processor to match left and right operand

renato: I suppose we're saying that in a constraint, we need to be able to refer to a source of info to check whether it's been satisfied. So if the count has to be 10, you find out whether it is or not by looking at {} this URL

simonstey: Maybe then we say that a constraint should provide info for checking that it has been satisfied

benws: Can you have a constraint like 'read the licence'

simonstey: That's why it's SHOULD not MUST

<michaelS> "enabling to match left and right operand" is enough

PROPOSED: A constraint SHOULD carry "enabling to match left and right operand information to check whether it has been satisfied
... A constraint SHOULD carry information to enable the left and right operands to be processed to check whether it has been satisfied

<victor> +1

michaelS: I've proposed to use the term matching left and right operand by the rule of the operatr
... I agree to the proposal, but I understand the concern about processing.

<simonstey> +0.5

<CarolineB> +1

<Serena> +1

<Sabrina> +1

<michaelS> +1

phila: I'm happy with this as a WG reolution, but we need to be careful in the spec itself

<ivan> +1

<renato> +1

<victor> +1

RESOLUTION: A constraint SHOULD carry information to enable the left and right operands to be processed to check whether it has been satisfied

benws: I think we're in agreement that we have a real requirement, but we may not have defined how to solve it.
... We have a req for complex constraints and these 2 resolutions go some way to defining what the resolution

[Coffee Break]

<Serena> *I'll have to leave at 13:30 CET for seeing the doctor, so I'll leave my scribing duties a bit earlier to Simon. I hope to be back asap then.*

<Serena> scribe: Serena

renato: try to summarize constraints on constraints
... we agreed to have multiple constraints on constraints

<renato> odrl:constraint [

<renato> a odrl:Constraint ;

<renato> odrl:subject odrl:play ;

<renato> odrl:deliveryChannel <https://iata.org/aircraft> ;

<renato> odrl:operator odrl:eq

<renato> odrl:source <http://my.co/getTheDeliveryChannel?now>

<renato> ] ;

renato: here there is a very simple example
... two new predicates
... odrl:subject and odrl:source
... enough information to process left and right operands

benws: example of constraints on constraints using subject?

<simonstey> +q

renato: it is useful also with multiple actions in a permission

michaelS: looking at subject, I'm not sure it is really of help

<phila> scribeNick: Serena

ivan: I'm a little bit unsure about the meaning of subject vs. source
... when I talk aboyt constraints in general the subject is what I constrain
... while here it seems to be the source

renato: no you constrain the "play"

ivan: I create a constraint on an instance
... here the subject is a class?
... it's not an individual
... I'm looking for a very clear statement

<renato> odrl:action odrl:play ;

ivan: I'm not sure to understand if I read it from ouside
... we can create a constraint with everything which has an id
... which one is the id of the instance here?
... it is probably source right?

renato: odrl:play is a predicate defined for the action

<renato> odrl:permission [

<renato> a odrl:Permission ;

<renato> odrl:assigner <http://socan.ca/> ;

<renato> odrl:target <http://socan.ca/catalogue> ;

renato: here there is the pre-text
... the asset is the catalogue

ivan: the whole idea is that we have to make it explicit what is constrained

renato: something like "applied to"

ivan: yes

<michaelS> q

renato: source, we will find another better name,

michaelS: I'm confused now, we said before that we should try to avoid to have all these constraints
... is it required to have an explicit reference to the action? Or is it sufficient to say that it refers to the definition of the constraint?
... is it really relevant what the action is?

renato: right…

https://github.com/w3c/poe/issues/60

benws: can we see this example?

<renato> a odrl:Constraint ;

<renato> odrl:event <the-football-game>;

<renato> odrl:operator odrl:eq ;

<renato> ] ;

<renato> a odrl:Constraint ;

<renato> odrl:appliesTo odrl:event ;

<renato> odrl:dateTime "P30M" ;

<renato> odrl:operator odrl:eq

<renato> ] ;

renato: the appllesTo refers to the above constraint
... unless we name the constraints
... we name the first constraint c1

ivan: it would be good to see the whole graph

renato: c2 appliesTo c1

ivan: what is the specification of the domain of appliesTo?
... in c2 you refer to odrl:constraint that is an instance of a class

phila: I'm worried by object being a triple

ivan: you need to have a name to the permission

phila: c2 shouldn't be listed in the permission
... because it constrain c1, not pro.com
... there shouldn't be a link from the top block to c2 in my view

renato: maybe c1 shouldn't be there
... in the top block

benws: it maybe simpler to have the basic implementation of constraints on constraints

michaelS: c2 does not really applies to c1 but to the aircraft of c1

*I'm leaving in 2 minutes, simonstey could you please take my place now?*

<simonstey> scribe: simonstey

<Serena> *htnaks simonstey I'll be back asap*

<Serena> *thanks*

[discussing about constraint scoping]

<phila> scribeNick: simonstey

renato: [switching from airplane example to datetime/event example]

michaelS: for me it doesn't really make sense.. how do those constraints relate to each other?

ivan: we are dangerously close to have something requiring some sort of event model

phila: well it's something we need to solve somehow.. whether that's the right solution or not

+q

-q

benws: maybe we should have a property called embargotime?

+q

benws: I think it is a good example.. eventually it may be pushed into a profile, but for now I think we shouldn't be afraid of redefining semantics

{michael & renato talking about possible solution approaches]

<phila> simonstey: I'm wondering where we draw the line between generic and specific use cases

<phila> ... I don't think it makes sense to come up with a property that refers to the end of an event specifically

<phila> benws: If we allow ourselves to be free on the semantics for now, we see how we end up after working on an example or two. Maybe start with pay amount example

<phila> renato: So you want to get rid of A$ as a constraint

renato: what if the unit is a constraint term itself?

ivan: relating to something we discussed earlier (the football example)
... we don't know what an event is
... ODRL doesn't define what an event is

<ivan> http://motools.sourceforge.net/event/event.html

ivan: e.g., for events we may define properties that we can constrain
... maybe taking the event ontology as guidance

benws: can we take the unit out and make it a seperate constraint?

<phila> ]ack me

<Zakim> phila, you wanted to talk about blank nodes and to talk about odrl:payAmount [rdf:value 100; odrl:unit "USD"]

phila: the value of payamount is defined as xsd:decimal

<phila> odrl:payAmount [rdf:value 100; odrl:unit "USD"]

phila: for rdf that means we could use a blank node

benws: but this would require defining complex objects for each and every situation beforehand
... but this would require defining complex objects
... for each and every situation beforehand

-q ...

renato: we also have to think about the general info model
... we don't only have RDF but other serializations too
... [working on webex whiteboard example]

ivan: how do I properly define the meaning of odrl:unit in that case?
... what's the definition of currency?
... it doesnt really define what the currency/unit constraint really mean?
... how do those two constraints exactly relate to each other?
... how do I determine the leftoperand of :c5
...: c5's odrl:eq refers to a property that isn't contained in :c5
... there is no clear definition on what a constraint applies on
... applying it on a class instance as we currently do, doesn't cut it

michaelS: I feel that what you talked about ivan relates to what we did already, i.e. going through all current constraint definitions and refurbish/clarify their descriptions

benws: we want the rightoperand of c4 to say 50aud(?)

phila: i think that's actually not a constraint itself but more of an extension
... to an existing constraint

<victor> +Q

victor: 1) we have an ontology, so we have the opportunity to be precise
... 2) we have agreed before the break that we won't be able to have complex constraints on complex constraints
... iirc
... but haven't we said we wont have a constraint on a constraint on a constraint .. ?

+1

<victor> -q

phila: the thing that worries me about ODRL is trying to enumerate possible solutions
... which would be outdated the moment you are publishing it

ivan: you can define your own datatypes..
... which might be dependend on particular profiles

phila: I would be happier to have complex objects instead of all the things we try to enumerate
... and/or having constraints on constraints on contraints..

<victor> +1

renato: where does that leave us?

ivan: maybe pushing the complexity somewhere else
... i.e. keeping the current 1 layer constraint model

michaelS: some leftoperands are covering spatial constraints

+q

phila: there are defined regions/subregions but you won't need geometry

renato: I'll try to summarize

<renato> https://www.w3.org/2016/poe/wiki/Constraints

renato: seems as if we will try to keep the status quo
... improve/extend constraint concepts as described in the respective wiki page
... does that mean we would need to deprecate e.g. odrl:unit?
... I've to check how that translates to XML
... github issues 62 & 60 will be updated, i.e. that we improve the definition of constraints

<victor> +1

benws: aren't they two different issues?

renato: 62 is constraints on constraints
... 60 is about the subject of a constraint

<renato> https://www.w3.org/2016/poe/wiki/Requirements#POE.R.DM.02_Define_target_of_a_constraint

renato: trying to figure out what this requires us to change

<renato> https://github.com/w3c/poe/issues/59

renato: constraints may apply to assets/parties too
... so it's probably more related to issue 59

ivan: I think it's better to have everything we decide/agree too to have also persisted on github
... maybe change the label to editorial
... but first we have to agree here

<renato> Proposal: For Issue#60 we work on improved Constraint Definitions and include non-simple values for some constraints where it makes sense

<ivan> +1

<phila> +1

<CarolineB> +1

<Sabrina> +1

+0.5

<James_> +1

<renato> +1

<michaelS> +1

<victor> +1

RESOLUTION: For Issue#60 we work on improved Constraint Definitions and include non-simple values for some constraints where it makes sense

<michaelS> back at xx:40

<Sabrina> yip

renato: we continue with issue59

<Sabrina> im eating lunch sorry

<scribe> scribe: victor

<scribe> scribe: victor

<simonstey> scribeNick: victor

<renato> <http://socan.ca/tariff:13A>

<renato> a odrl:Offer ;

<renato> odrl:permission [

<renato> a odrl:Permission ;

<renato> odrl:assigner <http://socan.ca/> ;

<renato> odrl:target <http://socan.ca/catalogue> ;

<renato> odrl:constraint [

<renato> a odrl:Constraint ;

<renato> odrl:subject <http://socan.ca/catalogue> ;

<renato> odrl:language <urn:ietf:bcp47:fr> ;

<renato> odrl:operator odrl:eq

<renato> ] ;

<renato> odrl:action odrl:play ;

<simonstey> +q

<phila> ack m]

michaelS: in the ODRL community, it was said "this will be defined by the definition of the assignees"
... for example, adults being +18 would be part of a specific profile, as it makes the process quite complex.

simonstey: we have enough constraints concepts that can be checked.
... constraints for actions mean "if the constraint is not valid, the permission is not active".
... whereas we want to remove certain assets from a group of assets etc. Shall this remain up to the implementors? Shall we define it?

renato: the current model for parties at least has the concept of "scope" (attribute that indicate the context)
... having for the moment at least the values "individual" and "group". but nothing prevents from having other URIs, like "http://has18year.old"

benws: so, again, the question is whether the complexity is within or outside ODRL

renato: but scope does exist, at least for parties --not for assets though.

simonstey: this adds extra complexity for formally defining the semantics
... possible mess with individuals/groups and policies differently declared for them.

renato: the group scope for the party is used so that "each individual member of a group" should see the same policies, the policy applies for each of the members.
... so the problem was already there. maybe we can add scope to the asset
... Two alternatives: constraint model vs scope model

<Sabrina> +1 for scope

<michaelS> +1 for scope

<benws> +1

<CarolineB> +1 scope

<James_> happy to explore

renato: proposal to augment the scope attribute to asset as well

michaelS: scope is more about how to interprete the group.

victor: my concern is about inconsistencies

+1

victor: we should have a list of "actions" to be made on policies, whose behaviour should be defined and tested in the testbeds.
... like for example "inconsistency detection".

RESOLUTION: to add the scope mechanism to the assets.

issue 58

renato: does anybody object to
... unit of count expressed as a new constraint?

PROPOSED: to create a new righthand operator for unit of count.

RESOLUTION: to create a new left hand operand for unit of count.

<benws> +1

<renato> +1

+1

<Sabrina> +1

<michaelS> +1 - for a left hand operator

<ivan> +1

<simonstey> 0

<CarolineB> +1

issue 56 in github

Issue56: rightOperand is a reference to a value

https://github.com/w3c/poe/issues/56

<renato> https://github.com/w3c/poe/issues/56

renato: shall we overload the meaning of datatypes like xsd:anyURI?
... we may say that if we find this datatype we should understand "go there and retrieve that".

xsd: string
... anyURI

victor: in RDF I will be using URIs very often.

renato: we can distinguish both cases with datatypes.

sabrina: why dont we use webId?

<Sabrina> https://www.w3.org/wiki/WebID

phila, do you mean https://www.w3.org/2001/tag/group/track/issues/14?

ivan: webid is not widely used

sabrina: ok. agreed.

ivan: concerned but in a imprecise manner

sabrina: in lisboa we were always thinking about the support to XML

renato: but after we polled, we agreed that XML was in use

phila: mostly agrees with ivan, but also in an unprecise manner
... i prefer calling it "API call"

renato: what is the working group feelings?

phila: there might be problems if a dumb parser finds the URL and does not know that it is an API call.
... perhaps this can be done with a new property. instead of rightOperand, having rightOperandRef etc.

victor: we may use it in other places

benws: like a moving target

renato: having a "moving action" is not a thing that will happen .

victor: i cannot think that fast, cannot judge

PROPOSED: In order to support API calls, we add a new property rightOperandReference, and a new class

+1

<CarolineB> +1

<michaelS> +1

<simonstey> -0

<Sabrina> 0

RESOLUTION: In order to support API calls, we add a new property rightOperandReference, and a new class

topics: issue 63

<renato> https://github.com/w3c/poe/issues/63

Extended relations

<renato> Earlier resolution (from 17 Oct):: That the extended relations (AND, OR, XOR) will only apply to Duties and Constraints, not Permissions and Prohibitions

renato: We had decided to apply exnteded relations exclusively to duties and constraints.

<renato> https://www.w3.org/2016/10/17-poe-minutes

renato: do you have any comment or questions on that?

<simonstey> c1 xor c2

victor: i support it

<simonstey> c1 appliesTo c2

renato: we are expecting input here.

simonstey: we may have chains of constraints

ivan: i agree that we may have cornercases, but we leave it as a mere possibility

renato: i posed an example on the use of XOR

<simonstey> +q

benws: we have also good examples. although they can be separed into two different constraints

simonstey: it is also relevant for remedies. in the Austrian law, if you do something (steal a car) you can choose the remedy (jail or pay X)

benws: +1

victor: to send a reference to the similar solution adopted in MPEG-21 Media Contract Ontology

RESOLUTION: changes still to be proposed in the information model.

<michaelS> scribe: michaelS

<renato> https://github.com/w3c/poe/issues/48

Policy versioning https://github.com/w3c/poe/issues/48

benws: could we use the version terms from another vocabulary?

renato: listed some examples: draft, approved, ...

ivan: we should look at terms from other standards first

benws: validfrom, validto, isdraft

simonstey: dont' valid... overlap with constraints?
... a policy as such has no rules = permission/prohibition/duty

benws: a new policy could retire an old policy

simonstey: not happy about the terms "valid ..."

renato: we can express temporal constraints for permissions ...

<Zakim> phila, you wanted to point to PAV

<phila> PAV

phila: governance and versioning covers what was raised as need

<simonstey> we also have to take inheritance into account

ivan: we should check first which standards provide what this group needs

renato: do we have the knowledge of other standards to take this action?
... anybody of this groups wants to list the requirements

benws: committed to do that

<scribe> ACTION: List required versioning properties [recorded in http://www.w3.org/2016/12/05-poe-minutes.html#action01]

<trackbot> Error finding 'List'. You can review and register nicknames at <https://www.w3.org/2016/poe/track/users>.

renato: went over editoral issues at https://github.com/w3c/poe/issues/48

<phila> ACTION: ben to list required versioning properties [recorded in http://www.w3.org/2016/12/05-poe-minutes.html#action02]

renato: correct URL https://github.com/w3c/poe/issues

<trackbot> Created ACTION-38 - List required versioning properties [on Benedict Whittam Smith - due 2016-12-12].

renato: started discussing https://github.com/w3c/poe/issues/80

<simonstey> +q

simonstey: disadvantages are more relevant than the benefits
... of having multiple actions in a rule

benws: worried about permission explosion

<CarolineB> *me Really sorry - have to go for anappointment

benws: can think about applying 30 permissions by a policy

<simonstey> The Child Policy MUST override the Parent Policy. i.e.: If the same Action appears in the Parent, then it is replaced by the Child version, otherwise the Parent Actions are added to the Child’s Actions.

<simonstey> http://w3c.github.io/poe/model/#inhertiance

renato and benws: if constraints apply only to a subset another permissions has to be created

benws: typically the same constraints apply to all actions permitted form an asset

simonstey: re the previous discussion: doesn't this makes a permission complex

benws: listed examples for actions which could have the same constraint

simonstey: is afraid of drawbacks not noticed yet
... not sure if having three different permission will be understood in the same way as having one permission with three actions

renato: this would be a major change to the Information Model, needs a clear definition

simonstey: proposed not to take a decision on that today - people should have time to consider that change

renato: agreed to that - invited all to go over issue 80
... said we should switch over to the Vocabulary issues
... see https://github.com/w3c/poe/milestone/2

Vocabulary issues

renato: biggest issue is https://github.com/w3c/poe/issues/64

<renato> https://docs.google.com/spreadsheets/d/1dVAV6-IJkzlCCoF_ec-ywwUPVmtYuV89tk5ikqY-soQ/edit#gid=1234055905

renato: look at the responses of the user survey
... the open issue is to go over the current vocab and sort out into normantive and non-normative terms
... should we update the vocab based on results of this survey?

<Zakim> phila, you wanted to share experience from DWBP

renato: any comment?

phila: we should check who plans to use term - how widely will it be used in practice?

benws: clarified: Reuters Media is more about news distribution, Thomson Reuters about distribution of financial data
... should be merged at some point in time

renato: is the requirement for a CR to have at least 2 implementations?

phila: this is a definition by the group - it could be considered in which different business sectors they should be implemented

renato: ok, let's discuss this later

<Zakim> simonstey, you wanted to ask about the necessity of enumerating actions when there's the possibility to define profiles anyway

renato: backt to sorting out normative/non-normative

<phila> My Tweet showing slide by DBPedia use of ODRL, see top left of pic

simonstey: most of the current Action terms don't have to be normative by his understanding, only use and transfer could be made normative
... a lot of the definitions of the Actions need to be reworked.

renato: if an action term is consideres as of wide used it would help to have a definition

simonstey: if he and others from universtities would be involved in the ODRL Community work other terms would be added, e.g. query.

phila: We are not defining an ODRL process, but a vocabulary

<phila> Conformance with ORG

phila: will look at the confirmance statement from another vocab (see url)

<simonstey> +q

simonstey: sees only a need for normative relationships between terms but not for normative terms

ivan: another example: Annotation Working Group - 2 documents: data model and the vocabulary docs

<ivan> http://w3c.github.io/web-annotation/model/wd2/#candidate-recommendation-exit-criteria

<ivan> http://w3c.github.io/web-annotation/vocab/wd/#candidate-recommendation-exit-criteria

ivan: the data model document is much more strict, the vocab is only strict about some basic requirements, less about the terms

michaelS: IPTC sorts our data models (normative) and vocabs (non-normative), but some vocabs are essential for the data model - like e.g. the Policy Types for ODRL

ivan: we should not sort out individual ODRL terms but terms for a specific - required - purpose

benws: liked this principle - think about the role of Profiles in ODRL

renato: look at the survey results and terms and keep only the most wanted terms

<simonstey> +q

phila: do we have a cutoff-date for that?

renato: we have a timeline agenda items

<renato> http://w3c.github.io/poe/model/#profile

ivan: fine with that approach. We should add a non-normative text about how profiles should be created and look like

renato: shared the link for that

<simonstey> +q

renato: we are in a starting phase about profiles

ivan: We need an explicit statement that this document is not normative

simonstey: we should explain how to add their own action terms to a basic ODRL Action Vocab

michaelS: we have SKOS

simonstey: we may need more than the SKOS relationships

<Zakim> phila, you wanted to talk about profiles

phila: re profiles: run a workshop about vocabulary profiles ... will discuss many facets of that, a working group for that should be established in 2017

UCR

POE Use Cases and Requirements

<renato> http://w3c.github.io/poe/ucr/

simonstey: has intensively worked on the Editors Draft http://w3c.github.io/poe/ucr/
... this document is in line with what we have on the Wiki page https://www.w3.org/2016/poe/wiki/Requirements

renato: this document looks good

benws: asked to set a clear due date for all documents

renato: so far no real activities on the Formal Semantics and the Best Practices documents

Time line and steps to CR

Timeline and Steps to CR

UNKNOWN_SPEAKER: the question is: what will happen after having a CR?

phila: before going to CR: approve people outside have looked at it. The group should try to approach people to get wide reviews - and this should be documented.

ivan: let's use Github for that

phila: the group should respond to the review of a reviewer - and the reviewer should be happy with the comment
... finally no standing issues are allowed
... The W3C director may be interested in having many reviews and less in the content

ivan: added: we have to contact the horizontal reviewers in other working groups soon
... as early as possible
... security issue: the RC document must include security considerations - we have to check what's a security issue
... every week counts

renato: should we create a list of about 50 persons and invite them?

phila: we could create a template email for this purpose

renato: how long takes a horizontal review?

ivan: unpredictable - it may take a long time. We should tell them when POE wants to go to a CR - suggested to plan 3 months for that.

renato: is the planned f2f in March to early?

ivan: inclined to say yes.

phila: consider Easter in April
... proposed the week of 24 April

ivan: feels that a CR could get ready in mid-May
... in summer time implementation reports shoudl not be expected
... PR could be expected in October
... the group needs to define a testing scenario and share that with the implementers
... have a look at what the Annotation WG - this group may reuse some parts of that set up.
... we need a person of this WG who commits to be behind all the testing and implementations

renato: thanks for this imput. As a next step we need a timeline with all the required steps.
... this will result in much more work by this WG as expected.

ivan: Members of this group should consider who could do testing in their company/organisationb

<phila> phila: Thanks to everyone

<Sabrina> thanks folks....

renato: thanks to all for the input and contributions to this call

Summary of Action Items

[NEW] ACTION: ben to list required versioning properties [recorded in http://www.w3.org/2016/12/05-poe-minutes.html#action02]
[NEW] ACTION: List required versioning properties [recorded in http://www.w3.org/2016/12/05-poe-minutes.html#action01]
 

Summary of Resolutions

  1. Minutes of 28 Nov approved
  2. ODRL constraints SHOULD be self contained and not depend on additional prose, noting that it may be a subset of a larger human readable policy.
  3. A constraint SHOULD carry information to enable the left and right operands to be processed to check whether it has been satisfied
  4. For Issue#60 we work on improved Constraint Definitions and include non-simple values for some constraints where it makes sense
  5. to add the scope mechanism to the assets.
  6. to create a new left hand operand for unit of count.
  7. In order to support API calls, we add a new property rightOperandReference, and a new class
  8. changes still to be proposed in the information model.
[End of minutes]