https://cacontology.projectvic.org/recruitment-networks/shapes#RecruitmentConsistencyShape
Validates consistency between recruitment attempts and successes.
@prefix cacontology-recruitment: <https://cacontology.projectvic.org/recruitment-networks#> .
@prefix cacontology-recruitment-shapes: <https://cacontology.projectvic.org/recruitment-networks/shapes#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-recruitment-shapes:RecruitmentConsistencyShape a sh:NodeShape ;
rdfs:label "Recruitment Consistency Shape"@en ;
rdfs:comment "Validates consistency between recruitment attempts and successes."@en ;
sh:sparql [ sh:message "Successful recruitments cannot exceed total recruitment attempts."@en ;
sh:prefixes [ sh:declare [ sh:namespace "https://cacontology.projectvic.org/recruitment-networks#"^^xsd:anyURI ;
sh:prefix "cacontology-recruitment" ] ] ;
sh:select """
SELECT $this
WHERE {
$this cacontology-recruitment:successfulRecruitments ?successful ;
cacontology-recruitment:recruitmentAttempts ?attempts .
FILTER (?successful > ?attempts)
}
""" ] ;
sh:targetClass cacontology-recruitment:VictimMediatedRecruitment .