https://cacontology.projectvic.org/custodial#AuthorityRoleExclusivityShape
Validates authority role exclusivity constraints.
Instances of uco-identity:Person can have the following properties:
PROPERTY |
MIN COUNT |
MAX COUNT |
TYPE |
|
|---|---|---|---|---|
| uco-identity:Person | ||||
| cacontology-enterprises:participatesInCoercion |
cacontology-enterprises:SelfHarmCoercion
|
|||
| cacontology-enterprises:participatesInRecruitment |
cacontology-enterprises:ContentBasedRecruitment
|
|||
@prefix cacontology-custodial: <https://cacontology.projectvic.org/custodial#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix uco-identity: <https://ontology.unifiedcyberontology.org/uco/identity/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-custodial:AuthorityRoleExclusivityShape a sh:NodeShape ;
rdfs:label "Authority Role Exclusivity Shape"@en ;
rdfs:comment "Validates authority role exclusivity constraints."@en ;
sh:sparql [ sh:message "Person cannot simultaneously hold conflicting authority roles in same custodial context"@en ;
sh:prefixes [ sh:declare [ sh:namespace "https://cacontology.projectvic.org/custodial#"^^xsd:anyURI ;
sh:prefix "cacontology-custodial" ] ] ;
sh:select """
SELECT ?this
WHERE {
?this cacontology-custodial:hasAuthority ?role1 ;
cacontology-custodial:hasAuthority ?role2 .
?role1 a cacontology-custodial:Guardian .
?role2 a cacontology-custodial:Teacher .
?custodialRel1 cacontology-custodial:involvesCustodian ?this .
?custodialRel2 cacontology-custodial:involvesCustodian ?this .
?custodialRel1 cacontology-custodial:involvesChild ?child .
?custodialRel2 cacontology-custodial:involvesChild ?child .
FILTER (?role1 != ?role2)
}
""" ] ;
sh:targetClass uco-identity:Person .