metadata-qa-api
metadata-qa-api copied to clipboard
QualifiedMinCount
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]".