- 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