https://cacontology.projectvic.org/synthesis/shapes#RecommendationEvidenceAlignmentShape
Focus nodes of this shape (cacontology-synthesis:Recommendation) can have the following properties:
| PROPERTY | DESCRIPTION | MIN | MAX | VALUE TYPE | OTHER CONSTRAINTS |
|---|---|---|---|---|---|
| cacontology-synthesis:supportedByEvidencePointer | Links a claim (or other assertion-like node) to the text evidence pointer supporting it. sh:message Recommendation must link to at least one TextEvidencePointer. |
1 | * | cacontology-synthesis:TextEvidencePointer |
sh:severity
sh:Violation
|
@prefix cacontology-synthesis: <https://cacontology.projectvic.org/synthesis#> .
@prefix cacontology-synthesis-shapes: <https://cacontology.projectvic.org/synthesis/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-synthesis-shapes:RecommendationEvidenceAlignmentShape a sh:NodeShape ;
rdfs:label "Recommendation Evidence Alignment Shape"@en ;
sh:property [ sh:class cacontology-synthesis:TextEvidencePointer ;
sh:message "Recommendation must link to at least one TextEvidencePointer."@en ;
sh:minCount 1 ;
sh:path cacontology-synthesis:supportedByEvidencePointer ;
sh:severity sh:Violation ] ;
sh:sparql [ sh:message "Recommendation evidence quote should include the corresponding 'Recommendation N:' marker."@en ;
sh:select """
SELECT $this
WHERE {
$this <https://cacontology.projectvic.org/synthesis#recommendationNumber> ?n ;
<https://cacontology.projectvic.org/synthesis#supportedByEvidencePointer> ?ep .
?ep <https://cacontology.projectvic.org/synthesis#exactQuote> ?q .
BIND(CONCAT("recommendation ", STR(?n), ":") AS ?needle)
FILTER (!CONTAINS(LCASE(STR(?q)), ?needle))
}
""" ;
sh:severity sh:Warning ] ;
sh:targetClass cacontology-synthesis:Recommendation .