https://cacontology.projectvic.org/grooming#BoundaryTestingShape
Validation shape for boundary testing behavior instances with gUFO integration.
@prefix cacontology-grooming: <https://cacontology.projectvic.org/grooming#> .
@prefix gufo: <http://purl.org/nemo/gufo#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@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-grooming:BoundaryTestingShape a sh:NodeShape ;
rdfs:label "Boundary Testing Shape"@en ;
rdfs:comment "Validation shape for boundary testing behavior instances with gUFO integration."@en ;
sh:property [ sh:datatype xsd:string ;
sh:in ( "gradual_escalation" "sudden_violation" "repeated_testing" "permission_seeking" "normalization" "desensitization" ) ;
sh:maxCount 1 ;
sh:message "Boundary testing must specify testing method from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-grooming:testingMethod ],
[ sh:datatype xsd:string ;
sh:in ( "resistance" "acceptance" "confusion" "compliance" "withdrawal" "normalization" ) ;
sh:maxCount 1 ;
sh:message "Victim response must be from the allowed list (gUFO quality aspect)."@en ;
sh:minCount 0 ;
sh:path cacontology-grooming:victimResponse ],
[ sh:datatype xsd:integer ;
sh:maxCount 1 ;
sh:maxInclusive 10 ;
sh:message "Boundary violation severity must be between 1 and 10 (gUFO quality aspect)"@en ;
sh:minInclusive 1 ;
sh:path cacontology-grooming:boundaryViolationSeverity ],
[ sh:datatype xsd:dateTimeStamp ;
sh:maxCount 1 ;
sh:message "Boundary testing may have begin timestamp (gUFO temporal)"@en ;
sh:path gufo:hasBeginPointInXSDDateTimeStamp ],
[ sh:datatype xsd:string ;
sh:in ( "physical" "emotional" "sexual" "privacy" "authority" "social" "digital" ) ;
sh:maxCount 1 ;
sh:message "Boundary testing must specify boundary type from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-grooming:boundaryType ] ;
sh:targetClass cacontology-grooming:BoundaryTesting .