https://cacontology.projectvic.org/specialized-units#ICACAffiliateOrganizationShape
Validation shape for ICAC affiliate organization instances.
@prefix cacontology-specialized: <https://cacontology.projectvic.org/specialized-units#> .
@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 uco-core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-specialized:ICACAffiliateOrganizationShape a sh:NodeShape ;
rdfs:label "CAC Affiliate Organization Shape"@en ;
rdfs:comment "Validation shape for ICAC affiliate organization instances."@en ;
sh:property [ sh:datatype xsd:string ;
sh:maxCount 1 ;
sh:maxLength 200 ;
sh:message "Affiliate organization must have a name (5-200 characters)."@en ;
sh:minCount 1 ;
sh:minLength 5 ;
sh:path uco-core:name ],
[ sh:datatype xsd:string ;
sh:in ( "primary" "secondary" "associate" "partner" ) ;
sh:maxCount 1 ;
sh:message "Affiliation level must be from the allowed list."@en ;
sh:minCount 0 ;
sh:path cacontology-specialized:affiliationLevel ],
[ sh:datatype xsd:string ;
sh:in ( "active" "inactive" "pending" "suspended" ) ;
sh:maxCount 1 ;
sh:message "Affiliation status must be from the allowed list."@en ;
sh:minCount 1 ;
sh:path cacontology-specialized:affiliationStatus ],
[ sh:datatype xsd:string ;
sh:in ( "high" "medium" "low" "recipient-only" ) ;
sh:maxCount 1 ;
sh:message "Resource contribution level must be from the allowed list."@en ;
sh:minCount 0 ;
sh:path cacontology-specialized:resourceContributionLevel ] ;
sh:targetClass cacontology-specialized:ICACAffiliateOrganization .