metadata-qa-api icon indicating copy to clipboard operation
metadata-qa-api copied to clipboard

QualifiedMinCount

Open pkiraly opened this issue 9 years ago • 0 comments

QualifiedMinCount := ref:numeric PC
QualifiedMaxCount := ref:numeric PC
QualifiedValueShape := nested:Shape PC

sh:qualifiedMinCount, sh:qualifiedMaxCount, sh:qualifiedShape: QualifiedMinCount and QualifiedMaxCount restrict the set of value nodes to those that pass the Shape QualifiedValueShape. Once the value set is restricted, their evaluation is the same as the evaluation of MinCount and MaxCount respecctively.

Every approved issue must be signed by one person from engineering and at least one from quality assurance:

<ApprovedIssueShape>
  sh:sh:property [
    sh:predicate ex:approvedBy;
    sh:qualifiedShape [ sh:pattern "^mailto:.*[email protected]" ] ;
    sh:qualifiedMinCount 1; sh:qualifiedMaxCount 1 ] ,
  sh:sh:property [
    sh:predicate ex:approvedBy;
    sh:qualifiedShape [ sh:pattern "^mailto:.*[email protected]" ] ;
    sh:qualifiedMinCount 1 ] .
<issue1> ex:approvedBy <mailto:[email protected]>, <mailto:[email protected]>,
    <mailto:[email protected]>, <mailto:[email protected]> .
<issue2> ex:approvedBy <mailto:[email protected]>,
    <mailto:[email protected]>, <mailto:[email protected]> .
<issue3> ex:approvedBy <mailto:[email protected]> .
<IssueShape>  <issue1>  pass
<IssueShape>  <issue2>  fail  expected at most 1 ex:approvedBy matching "^mailto:.*[email protected]".
<IssueShape>  <issue3>  fail  expected at least 1 ex:approvedBy matching "^mailto:.*[email protected]".

pkiraly avatar Sep 29 '16 07:09 pkiraly