- From: simon via GitHub <sysbot+gh@w3.org>
- Date: Tue, 20 Jun 2017 05:25:29 +0000
- To: public-poe-archives@w3.org
>@nitmws: At the call on 19 June - https://www.w3.org/2017/06/19-poe-minutes - the question was raised if something required for testing is missing in the ontology. [...] > >**OWL 2 defines how to express cardinalities** [...] The specification of the Information Model that "a Rule MUST have an Action via the action property" could be expressed this way: and so does [SHACL](https://www.w3.org/TR/shacl/#core-components-count) (cf. https://github.com/simonstey/ODRL-SHACL-Shapes/wiki/3.5-Rule) : ```turtle # a Rule must have at least one value for odrl:action ex:MinCountRuleShape a sh:NodeShape ; sh:targetClass odrl:Rule ; sh:property [ sh:path odrl:action; sh:minCount 1 ; ] . # all values of odrl:action must be of type odrl:Action ex:ActionPropertyShape a sh:NodeShape ; sh:targetObjectsOf odrl:action ; sh:class odrl:Action . ``` Deciding whether to use OWL ([OWA](https://en.wikipedia.org/wiki/Open-world_assumption)), SHACL ([CWA](https://en.wikipedia.org/wiki/Closed-world_assumption)), or both for expressing those restrictions really depends on the respective use cases. For example: + You would use **OWL**, if you want to be able to _assert_ that any policy that has at least 1 assigner and 1 assignee for each of its rules is an agreement policy. + You would use **SHACL**, if you want to be able to _check_ whether all agreement policies have at least 1 assigner and 1 assignee for each of their rules. -- GitHub Notification of comment by simonstey Please view or discuss this issue at https://github.com/w3c/poe/issues/198#issuecomment-309648254 using your GitHub account
Received on Tuesday, 20 June 2017 05:25:36 UTC