shapes-ISSUE-83 (multiple sh:qualifiedValueShapes): How should multiple definitions of sh:qualifiedValueShape of a property constraint be treated? [SHACL Spec]

shapes-ISSUE-83 (multiple sh:qualifiedValueShapes): How should multiple definitions of sh:qualifiedValueShape of a property constraint be treated? [SHACL Spec]

http://www.w3.org/2014/data-shapes/track/issues/83

Raised by: Simon Steyskal
On product: SHACL Spec

Hi!

The current specification does not specify how multiple sh:qualifiedValueShapes should be treated when they are used within a single property constraint.

For example, if I want to specify that there must exist exactly 3 values for ex:parent where at least 1 of them must be ex:female (and ex:male respectively), the current specification does not prohibit me from writing something like this:

ex:QualifiedValueShapeExampleShape
 a sh:Shape ;
 sh:property [
  sh:predicate ex:parent ;
  sh:minCount 3 ;
  sh:maxCount 3 ;
  sh:qualifiedValueShape [
   sh:property [
    sh:predicate ex:gender ;
    sh:hasValue ex:female ;
   ]
  ] ;
  sh:qualifiedMinCount 1 ;
  sh:qualifiedValueShape [
   sh:property [
    sh:predicate ex:gender ;
    sh:hasValue ex:male;
   ]
  ] ;
  sh:qualifiedMinCount 1 ;
 ] .

Of course, one way to approach that would be to use sh:AndConstraint for >1 qualifiedValueShapes, but that's not explicitly mentioned in the draft.

btw. there is a typo in the code example of the draft ->

sh:predicate [
 sh:predicate ex:gender ; 

Received on Friday, 21 August 2015 07:13:39 UTC