Re: [poe] Use of cardinality restrictions in the ontology?

>@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