Skip to content

On requiring mutually disjoint sets of policy/rule types #280

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
simonstey opened this issue Oct 25, 2017 · 4 comments
Closed

On requiring mutually disjoint sets of policy/rule types #280

simonstey opened this issue Oct 25, 2017 · 4 comments

Comments

@simonstey
Copy link
Contributor

Although never explicitly mentioned in the IM, the Vocab (i.e. ontology) defines all types of rules and all types of policies as being mutually disjoint (which was also briefly touched upon in #247) .

and while that arguably makes sense for e.g. some types of rules (as pointed out by @vroddon #247 (comment)):

Another example we have always had in the spec is the disjointness between Permission, Prohibition and Duty. I don't see how can a Permission be a Prohibition a the same time, for example.

it doesn't for certain policy types or ones added by profiles, e.g.:

http://w3c.github.io/poe/model/#policy-set

For the examples in this document, the ODRL Policy subclasses are mapped to the JSON-LD @type tokens. The above example could have also used Policy type instead of Set type (as they are equivalent).

-> odrl:Policy owl:equivalentClass odrl:Set

https://w3c.github.io/poe/vocab/#term-Agreement

Parent class: Policy

-> odrl:Agreement rdfs:subClassOf odrl:Policy

Disjoint classes: Assertion, Offer, Privacy, Request, Set, Ticket

-> odrl:Agreement owl:disjointWith odrl:Set, ...

=>
odrl:Agreement owl:disjointWith odrl:Set, odrl:Policy, ...
odrl:Agreement rdfs:subClassOf odrl:Set, odrl:Policy .

@vroddon
Copy link
Contributor

vroddon commented Oct 25, 2017 via email

@riannella
Copy link
Contributor

This was covered in #154

Please outline what (if anything) of the specs need to change, and if this means that any test cases are impacted (worse!)

Should we have deprecated Set?

Please note that the ODRL vocab does not include:
odrl:Policy owl:equivalentClass odrl:Set

@riannella
Copy link
Contributor

Proposal:

Remove "Set" from the list of disjoint classes

Add a new bullet point to section 2.1:

• A Policy class MUST be disjoint will all Policy subclasses (except for Set)

Add a new bullet point to section 2.6:

• A Rule class MUST be disjoint will all other Rule subclasses

This will make it consistent with the intent and the ODRL ontology, and should no have any impact on test cases.

riannella added a commit that referenced this issue Oct 30, 2017
@riannella
Copy link
Contributor

completed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants