https://cacontology.projectvic.org/sextortion#AgeDeceptionShape
Validation shape for age deception instances.
@prefix cacontology-sextortion: <https://cacontology.projectvic.org/sextortion#> .
@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-sextortion:AgeDeceptionShape a sh:NodeShape ;
rdfs:label "Age Deception Shape"@en ;
rdfs:comment "Validation shape for age deception instances."@en ;
sh:property [ sh:datatype xsd:string ;
sh:in ( "peer_impersonation" "adult_impersonation" "age_ambiguity" "false_profile" "stolen_identity" "fictional_persona" ) ;
sh:maxCount 1 ;
sh:message "Age deception must specify deception type from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-sextortion:deceptionType ],
[ sh:datatype xsd:nonNegativeInteger ;
sh:maxCount 1 ;
sh:maxInclusive 25 ;
sh:message "Claimed age must be between 10 and 25 years."@en ;
sh:minCount 0 ;
sh:minInclusive 10 ;
sh:path cacontology-sextortion:claimedAge ],
[ sh:datatype xsd:nonNegativeInteger ;
sh:maxCount 1 ;
sh:maxInclusive 80 ;
sh:message "Actual age must be between 18 and 80 years."@en ;
sh:minCount 0 ;
sh:minInclusive 18 ;
sh:path cacontology-sextortion:actualAge ],
[ sh:datatype xsd:string ;
sh:in ( "ineffective" "partially_effective" "effective" "highly_effective" "completely_convincing" ) ;
sh:maxCount 1 ;
sh:message "Deception effectiveness must be from the allowed list."@en ;
sh:minCount 0 ;
sh:path cacontology-sextortion:deceptionEffectiveness ] ;
sh:targetClass cacontology-sextortion:AgeDeception .